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

Application オブジェクトでイベントを使用できるようにするには、クラス モジュールを作成し、イベントで Application 型のオブジェクトの変数を宣言します。 たとえば、EventClassModule というクラスモジュールを作成します。 次のコードを新しいクラス モジュールに記述します。

Public WithEvents App As Application

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

しかし、このプロシージャを実行する前に、クラス モジュールで宣言したオブジェクト変数を Application オブジェクトに関連付ける必要があります。 モジュールのいずれかで次のコードを記述し、実行することによって関連付けることができます。

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

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

関連項目

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

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