SAM | |
Legen Sie fest, mit welcher "Identität" Ihre Emails beim Empfänger erscheinen sollen. Mit SAM bestimmen Sie den Absender und Speicherort für Emails anhand von Regeln. |
Wenn Sie eine Funktion in regelmäÃigen Intervallen immer wieder starten müssen, dann bietet sich ein Timer an, der in festgelegten Intervallen ausgelöst wird. Eine weitere Anwendungsmöglichkeit ist es, Prozesse zu entkoppeln. Ein typisches Szenario ist, dass Sie beim Start Outlooks einen Ordner per VBA aufräumen müssen. Das Application_Startup-Ereignis liefert das Startsignal, aber solange dann Ihr Makro für die Ausführung benötigt, wird Outlook am weiteren Start gehindert, was zu Problemen führen kann. Wenn Sie stattdessen in dem Ereignis nur den Timer starten, dann kann Outlook mit seinen eigenen Aufgaben sofort fortfahren und Ihr Makro wird erst später aufgerufen.
Klicken Sie auf Einfügen/Modul und fügen Sie diesen ersten Teil des Codes in das neue Modul ein.
Private Declare Function SetTimer Lib "user32.dll" (ByVal hwnd As Long, _ ByVal nIDEvent As Long, ByVal uElapse As Long, _ ByVal lpTimerFunc As Long) As Long Private Declare Function KillTimer Lib "user32.dll" (ByVal hwnd As Long, _ ByVal nIDEvent As Long) As Long Const WM_TIMER = &H113 Private hEvent As Long Private m_Callback As ThisOutlookSession Public Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, _ ByVal wParam As Long, ByVal lParam As Long _ ) If uMsg = WM_TIMER Then m_Callback.TimerEvent End If End Sub Public Function EnableTimer(ByVal Interval As Long, Callback As ThisOutlookSession) As Boolean If hEvent <> 0 Then Exit Function End If hEvent = SetTimer(0&, 0&, Interval, AddressOf TimerProc) Set m_Callback = Callback EnableTimer = CBool(hEvent) End Function Public Function DisableTimer() If hEvent = 0 Then Exit Function End If KillTimer 0&, hEvent hEvent = 0 End Function
ReplyAll | |
Mit diesem Addin für Outlook erhalten Sie in verschiedenen Situationen eine Warnung, bevor Sie auf eine Email versehentlich allen anderen Empfängern antworten. |
Die folgenden drei Funktionen sind ein Beispiel, wie der Timer gleich nach dem Start Outlooks gestartet werden kann. Das Intervall ist auf 60.000 ms festgelegt, d.h. die Funktion TimerEvent wird nach 60 Sekunden aufgerufen. In der TimerEvent-Funktion können Sie den Timer sofort wieder abschalten, wenn Sie nur das eine Signal brauchen. Oder Sie lassen den Timer weiterlaufen, wenn Sie regelmäÃig alle 60 Sekunden eine Funktion ausführen wollen.
In jedem Fall müssen Sie den Timer spätestens vor Beenden Outlooks abschalten, sonst führt das zu einem Absturz. Es reicht, DisableTimer, wie gezeigt, aus Application_Quit heraus aufzurufen.
Private Sub Application_Startup() EnableTimer 60000, Me End Sub Public Sub TimerEvent() 'Abschalten, wenn keine weiteren Signale gebraucht werden DisableTimer End Sub Private Sub Application_Quit() DisableTimer End Sub
SAM | |
Legen Sie fest, mit welcher "Identität" Ihre Emails beim Empfänger erscheinen sollen. Mit SAM bestimmen Sie den Absender und Speicherort für Emails anhand von Regeln. |