QueryTable 对象事件的用法

   

在可以使用 QueryTable 对象的事件之前,必须首先创建一个新的类模块,并声明一个具有事件的 QueryTable 对象。例如,假定已创建了一个新的类模块,其名为 ClsModQT。此模块中包含以下代码:

Public WithEvents qtQueryTable As QueryTable

在用事件声明新的对象之后,该对象就会出现在类模块的“对象”下拉列表框中。

但是,在过程运行之前,必须将类模块中声明的对象连接到指定的 QueryTable 对象上。通过在类模块中输入以下代码,可完成此项工作:

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

在运行了此初始化过程之后,类模块中所声明的对象就会指向指定的 QueryTable 对象。通过调用模块中的事件,可以对其进行初始化。在本示例中,活动工作表上的第一张查询表将连接到 qtQueryTable 对象上。

Dim clsQueryTable as New ClsModQT

Sub RunInitQTEvent
    clsQueryTable.InitQueryEvent _
        QT:=ActiveSheet.QueryTables(1)
End Sub

在对象的类中可编写其他事件过程。当单击“对象”框中的新对象时,该对象的有效事件就会显示在“过程”下拉列表框中。