使用 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

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應