对 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

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

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。