在自动化中使用事件

   

若要在 Microsoft Visual Basic 或其他应用程序中的 Microsoft Visual Basic for Applications 中创建 Microsoft Outlook 对象的事件处理器,需要完成以下四步:

  1. 设置对 Microsoft Outlook 对象库的引用。
  2. 声明对象变量来响应事件。
  3. 编写特定的事件过程。
  4. 初始化已声明的对象。

了解在 Outlook Visual Basic for Applications 中处理事件

设置对 Outlook 对象库的引用

在 Visual Basic 或 Visual Basic for Applications 代码中使用 Outlook 对象之前,必须首先在“引用”对话框中设置对 Outlook 对象模型的引用。有关使用此对话框的详细信息,请参阅所使用的编程环境的联机帮助。

声明对象变量

引用对象模型库后,必须声明变量来引用所需的对象。可以在将使用该对象的模块(即包含事件处理器过程的模块)中声明变量,但通常在类模块中声明变量,以便该变量可在程序中的任何模块中使用。

例如,若要在类模块中声明 Application 对象的对象变量,可以使用以下的代码:

Public WithEvents myOlApp As Outlook.Application

必须使用 WithEvents 关键字指定该对象变量将用于响应由对象触发的事件。

编写事件过程

在以事件方式声明新对象后,它将显示在类模块“代码”窗口的“对象”列表中,您可以从“过程/事件”列表中选择对象的事件过程。例如,当为声明为 myOlApp 的 Application 对象选择 ItemSend 事件时,以下空过程将显示在“代码”窗口中。

Private Sub myOlApp_ItemSend(Item as Object, Cancel as Boolean)

End Sub

初始化已声明的对象

在过程运行之前,必须将声明的对象(在本示例中为 myOlApp)与 Application 对象相连接。如果在名为 EventClassModule 的类模块中声明对象,则可以在任何模块中使用以下代码:

Dim myClass as New EventClassModule

Sub Register_Event_Handler()

    Set myClass.myOlApp = CreateObject("Outlook.Application")

End Sub

Register_Event_Handler 过程运行后,窗体或类模块中的 myOlApp 对象指向 Outlook Application 对象,并且将在事件发生时运行该事件过程。