次の方法で共有


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

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

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

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

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

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

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

Public WithEvents App As Word.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. (When you select the new object in the Object box, the valid events for that object are listed in the Procedure drop-down list box.) Select an event from the Procedure drop-down list box; an empty procedure is added to the class module.

Private Sub App_DocumentChange() 
 
End Sub

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

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

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

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

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

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