Outlook Visual Basic for Applications を使用して Outlook イベントに応答する
イベント プロシージャ (イベント ハンドラーともいう) を作成し、Microsoft Outlook で発生したイベントに応答します。 たとえば、Outlook の開始時にエクスプローラー ウィンドウを自動的に最大化するイベント プロシージャを作成できます。
イベントは特定のオブジェクトに関連付けられます。 Application オブジェクトは最上位のオブジェクトであり、常に使用できます (つまり、作成する必要はありません)。 左側の一覧で [アプリケーション] を選択し、右側の一覧でイベントを選択するだけで、Application イベント プロシージャを ThisOutlookSession モジュール ウィンドウに追加できます。
Application 以外のオブジェクトのイベント ハンドラーを追加する場合、さらにいくつかの手順が必要になります。
最初に、WithEvents キーワードを使用して、処理するイベントが含まれるオブジェクトを特定するための変数を宣言しなければなりません。 たとえば、OutlookBarPane オブジェクトを表す変数を宣言するには、コード モジュールに以下のコードを追加します。
Dim WithEvents myOlBar as Outlook.OutlookBarPane
その後、モジュール ウィンドウの [オブジェクト] リストでを選択 myOlBar
し、プロシージャ の一覧でイベントを選択できます。 Visual Basic Editor で、イベント プロシージャ用のテンプレートがモジュール ウィンドウに追加されます。 そこに、イベントの発生時に実行するコードを入力できます。 以下の例は、 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 のサポートおよびフィードバックを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示