| | Awarded by Microsoft since 2005: |  |
| | VBOffice Info | | Besucher | 1388661 | | Aufrufe | 5086128 |
| |
|
| |
| Autor: Michael Bauer | Homepage | | Datum: 18.01.2006 | Zugriffe: 29303 | | | | Beschreibung
Wenn Sie eine Funktion in relativ kurzen Intervallen immer wieder starten müssen, dann bietet sich ein Timer an. Während es in VB6 dafür ein Timer-Steuerelement gibt, müssen Sie sich in VBA für Outlook des Win32 API bedienen.
Das folgende Beispiel zeigt, wie Sie die API-Aufrufe in ein eigenes Modul auslagern und das Timer-Signal im Modul 'DieseOutlookSitzung' empfangen können: Dazu erstellen Sie die als Public deklarierte Methode 'Timer', welche dann in den festgelegten Intervallen aufgerufen wird. Eingeschaltet wird der Timer in 'Application_Startup', also gleich wenn Outlook startet, mit einem Intervall von 60000 Millisekunden (= 1 Minute).
Es ist wichtig, einen API-Timer abzuschalten, bevor die Anwendung beendet wird. |
Private Sub Application_Startup()
EnableTimer 60000, Me
End Sub
Public Sub Timer()
End Sub
Private Sub Application_Quit()
DisableTimer
End Sub
Option Explicit
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_oCallback As Object
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_oCallback.Timer
End If
End Sub
Public Function EnableTimer(ByVal msInterval As Long, oCallback As Object) As Boolean
If hEvent <> 0 Then
Exit Function
End If
hEvent = SetTimer(0&, 0&, msInterval, AddressOf TimerProc)
Set m_oCallback = oCallback
EnableTimer = CBool(hEvent)
End Function
Public Function DisableTimer()
If hEvent = 0 Then
Exit Function
End If
KillTimer 0&, hEvent
hEvent = 0
End Function
|
| | |
| | |  | ReplyAll warnt Sie, bevor Sie unbeabsichtigt allen Empfängern
einer E-Mail antworten oder wenn Sie ein vertraulicher BCC-Empfänger der E-Mail ... [weiter] |
| | |  | Blitzschneller Zugriff auf die Hauptkategorienliste, gemeinsame Kategorien im Netzwerk, eine Erinnerungsfunktion ... [weiter] |
| | |  | SAM legt automatisch Absender, Signatur und Speicherort für gesendete Mails fest, z.B. anhand der ... [weiter] |
| | |  | OLKeeper verhindert zuverlässig, dass Mitarbeiter Outlook schließen und dadurch Termine oder E-Mails ... [weiter] |
| | |
|