次の方法で共有


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

QueryTable オブジェクトでイベントを使用するには、まずクラス モジュールを作成し、イベントを含む QueryTable オブジェクトを宣言する必要があります。 たとえば、 ClsModQT というクラス モジュールを新規作成するとします。 この新規クラス モジュールには、次のコードを記述します。

Public WithEvents qtQueryTable As QueryTable

イベントを使用して新しいオブジェクトを宣言すると、クラス モジュールの [オブジェクト ] リスト ボックスに表示されます。

プロシージャを実行するには、クラス モジュールで宣言したオブジェクトと QueryTable オブジェクトを接続しておく必要があります。 これを行うために、クラス モジュールに次のコードを記述します。

Sub InitQueryEvent(QT as Object) 
 Set qtQueryTable = QT 
End Sub

この初期化プロシージャを実行すると、クラス モジュールで宣言したオブジェクトは、指定した QueryTable オブジェクトを参照するようになります。 モジュール内のイベントを呼び出すと、そのイベントを初期化できます。 次の使用例は作業中のワークシートのクエリ テーブル 1 を qtQueryTable オブジェクトに接続します。

Dim clsQueryTable as New ClsModQT 
 
Sub RunInitQTEvent 
 clsQueryTable.InitQueryEvent _ 
 QT:=ActiveSheet.QueryTables(1) 
End Sub

オブジェクトのクラスには、これ以外にもイベント プロシージャを作成できます。 [オブジェクト] ボックスで新しいオブジェクトをクリックすると、そのオブジェクトの有効なイベントが [プロシージャ] リスト ボックスに表示されます。

関連項目

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

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