This example uses DefineEvent to define an event which occurs every 5 seconds. EventDefined is used to return the event number. The While loop uses WaitEventNumber to wait for the event and display a message box. When the user cancels the message box, RemoveEvent is used to remove the event.

Sub DefinedEvent()

 Dim fiveSecondEvent As Integer 'event number

 Dim result As Integer 'Message box return


 With Session

  'Define a Time event to occur after a 5 second interval

  .DefineEvent rcNextEvent, rcTime, "5"


  'Use the EventDefined property to return the number of the

  'most recently defined event.

  fiveSecondEvent = .EventDefined


   'Wait for the event to occur until the user cancels.

   While .WaitEventNumber(fiveSecondEvent, 30)

    result = MsgBox("The event has occurred." & vbCrLf & vbCrLf & _

       "Press OK to wait for the next event. " & _

       "Press Cancel to terminate the event.", _

       vbOKCancel + vbInformation, "Five Second Event")


    'If the user cancelled, remove the event and quit

    If result = vbCancel Then

     .RemoveEvent fiveSecondEvent

     Exit Sub

    End If


 End With

End Sub