在使用由 ActiveX 部件提供的对象的属性、方法和事件之前,必须首先声明一个对象变量。声明对象变量的方法,取决于 ActiveX 部件是否提供类型库。
要为在类型库中定义的对象声明变量,请按照以下步骤执行:
Dim variable As [New] class
class 参数由两部分组成,其格式为 component.class。
部分 | 说明 |
component | 提供对象的部件名。选择的内容被显示在“对象浏览器”的“工程/库”清单中。 |
class | 对象的类名(由部件类型库提供)。选择的内容被显示在“对象浏览器”的“类/模块”框中。 |
例如,可以使用下列两种方式之一为 Microsoft Excel Chart 对象声明一个变量:
Dim xlChart As Chart
Dim xlChart As Excel.Chart
如果用 New 关键字声明一个对象变量,Visual Basic 将自动创建一个对象,并在第一次使用该变量时赋值对象引用。例如下列语句将对新的 DAO 表对象的引用赋予变量 tdfOrders,表的 Name 属性被置为 "Orders":
Dim tdfOrders As New TableDef
tdfOrders.Name = "Orders"
注意 使用由 New 关键字声明的变量会减慢应用程序的运行速度。因为 Visual Basic 每次遇到用 New 声明的变量时,都要测试是否已将对象引用赋给该变量。
要为未在类型库中定义的对象声明对象变量,请
Dim variable As Object
例如,下面声明中的变量 objAny
可以被 Microsoft Excel Chart 对象或 ActiveX 部件提供的任何其他对象所使用。
Dim objAny As Object
声明特定类变量与声明一般的 Object 类的变量不同,区别在于 ActiveX 如何将变量和对象绑定。在声明一般的 Object 类变量时,ActiveX 必须用后期绑定。在声明特定类的对象变量时,ActiveX 用事前绑定,这样能加速对象引用。详细信息,请参阅本章后面的“加速对象引用”一节。
详细信息 关于声明对象变量的更详细的信息,请参阅“Dim 语句”。关于给变量赋值对象引用的更详细的信息,请参阅“将对象引用赋予变量”。