You can use the SetTimer and KillTimer API's, ie.
In a Module..
Code:
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
Private iTimerID As Long
Public Sub StartTimer(ByVal Interval As Long)
If iTimerID = 0 Then iTimerID = SetTimer(0&, 0&, Interval, AddressOf TimerCallback)
End Sub
Public Sub StopTimer()
If iTimerID Then Call KillTimer(0&, iTimerID)
iTimerID = 0
End Sub
Private Sub TimerCallback(ByVal hWnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
'Do whatever in the Timer Event Here.
End Sub
Usage:
Code:
Private Sub Form_Load()
StartTimer 5000
End Sub
Private Sub Form_Unload()
StopTimer
End Sub