Application オブジェクトでのイベントの使用 (Publisher)

Application オブジェクトでのイベントの処理ルーチンを作成するには、次の 3 つの手順を実行する必要があります。

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

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

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

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

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

Public WithEvents App As Publisher.Application

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

After the new object has been declared with events, it appears in the Object drop-down list box in the class module, and you can write event procedures for the new object. [ オブジェクト ] ボックスで新しいオブジェクトを選択すると、そのオブジェクトの有効なイベントが [ プロシージャ ] ドロップダウン リスト ボックスに一覧表示されます。 [プロシージャ] ボックスからイベントを選択すると、空のプロシージャがクラス モジュールに追加されます。

Private Sub App_DocumentOpen() 
 
End Sub

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

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

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

Register_Event_Handler プロシージャを実行します。 プロシージャを実行すると、クラス モジュールの App オブジェクトが Microsoft Publisher Application オブジェクトを指し示し、イベントが発生すると、クラス モジュール内のイベント プロシージャが実行されます。

注:

Document オブジェクトのイベント プロシージャの作成については、「Document オブジェクトでのイベントの使用」を参照してください。

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

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