アプリケーション オブジェクトでイベントを使用する

Application オブジェクトのイベントを処理するイベント ハンドラーを作成するには、次の手順を実行します。

  1. イベントに応答するオブジェクト変数をクラス モジュール内に宣言します。

  2. 個別のイベント プロシージャを記述します。

  3. 宣言したオブジェクトを別のモジュールから初期化します。

オブジェクト変数を宣言する

Application オブジェクトのイベントに対してプロシージャを記述する前に、新しいクラス モジュールを作成し、イベントを伴う Application 型のオブジェクトを宣言する必要があります。 たとえば、EventClassModule という名前の新しいクラス モジュールを作成します。 この新しいクラス モジュールに、次のコードを記述します。

Public WithEvents App As Application

イベント プロシージャを記述する

新しいオブジェクトがイベントで宣言されると、クラス モジュールの Object リストに表示され、新しいオブジェクトのイベント プロシージャを記述できます。 ([ オブジェクト ] ボックスの一覧で新しいオブジェクトを選択すると、そのオブジェクトの有効なイベントが [プロシージャ ] リストに一覧表示されます)。 [プロシージャ ] の一覧からイベントを選択します。空のプロシージャがクラス モジュールに追加されます。

Private Sub App_NewPresentation()

End Sub

宣言したオブジェクトを初期化する

プロシージャを実行する前に、クラス モジュールで宣言したオブジェクト (この例では App) と Application オブジェクトを接続する必要があります。 これを行うには、任意のモジュールに次のコードを記述します。

Dim X As New EventClassModule
Sub InitializeApp()
    Set X.App = Application
End Sub

InitializeApp プロシージャを実行します。 このプロシージャを実行すると、クラス モジュール内の App オブジェクトは Microsoft Office PowerPoint の Application オブジェクトを参照するようになり、イベントの発生時にクラス モジュール内のイベント プロシージャが実行されます。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。