共用方式為


使用 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 支援與意見反應