Outlook VBA教程:使用 Outlook Visual Basic for Applications 响应 Outlook事件

您可以编写事件过程(也称为事件处理器)来响应 Microsoft Outlook 中发生的事件。例如,可以编写事件过程在 Outlook 启动时自动最大化浏览器窗口。

事件与特定的对象关联。Application对象是顶层对象,并且总是可用(也就是说,它无需创建)。只需在左边列表选择 Application,然后在右边列表选择事件,就可在 ThisOutlookSession 模块窗口添加 Application事件过程。

为 Application 以外的对象添加事件处理器还需要执行其他步骤。

首先,必须使用 WithEvents 关键字声明变量,以标识要处理的事件所属的对象。例如,若要声明代表OutlookBarPane对象的变量,应在代码模块添加以下代码:


Dim WithEvents myOlBar as Outlook.OutlookBarPane

然后可以在模块窗口的对象列表中选择 myOlBar,并在过程列表中选择事件。Visual Basic 编辑器将在模块窗口中添加该事件过程的模板。然后您可以键入事件发生时想要运行的代码。以下示例显示添加到 OutlookBarPane对象的BeforeNavigate事件过程的代码:


Private Sub myOlBar_BeforeNavigate(ByVal Shortcut As OutlookBarShortcut, Cancel As Boolean)
    If Shortcut.Name = "Notes" Then
        MsgBox "You cannot open the Notes folder."
        Cancel = True
    End If
End Sub

最后一步是添加代码将对象变量设置为要处理的事件所属的对象。该代码可以存在于宏中,或者,如果希望每当 Outlook 运行时处理该事件,可将该代码放到Startup事件过程中,如以下示例所示。


Private Sub Application_Startup()
    Set myOlBar = Application.ActiveExplorer.Panes(1)
End Sub

上页:Outlook VBA教程:在自动化中使用事件 下页:Outlook VBA教程:使用 Outlook 中的 Visual Basic for Applications

Outlook VBA教程:使用 Outlook Visual Basic for Applications 响应 Outlook事件:相关链接

Outlook VBA教程:使用 Outlook 中的 Visual Basic for Applications Outlook VBA教程:使用 EntryID 和 StoreID
Outlook VBA教程:在 Visual Basic 编辑器中处理窗体 Outlook VBA教程:处理 Outlook事件
Outlook VBA教程:编写 Outlook 宏 Outlook VBA教程:Activate事件
Outlook VBA教程:AdvancedSearchComplete事件 Outlook VBA教程:AdvancedSearchStopped事件
Outlook VBA教程:AttachmentAdd事件 Outlook VBA教程:AttachmentRead事件
Outlook VBA教程:BeforeAttachmentSave事件 Outlook VBA教程:BeforeCheckNames事件
Outlook VBA教程:BeforeDelete事件 Outlook VBA教程:BeforeFolderSwitch事件
Outlook VBA教程:BeforeGroupAdd事件 Outlook VBA教程:BeforeGroupRemove事件
Outlook VBA教程:BeforeGroupSwitch事件 Outlook VBA教程:BeforeItemCopy事件
Outlook VBA教程:BeforeItemCut事件 Outlook VBA教程:BeforeItemPaste事件
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号