声明对象变量

在使用由 ActiveX 部件提供的对象的属性、方法和事件之前,必须首先声明一个对象变量。声明对象变量的方法,取决于 ActiveX 部件是否提供类型库。

要为在类型库中定义的对象声明变量,请按照以下步骤执行:

  1. 在 Visual Basic 工程中添加一个对类型库的引用。关于添加对类型库的引用的更详细的信息,请参阅本章前面的“创建对对象的引用”一节。

  2. 在变量声明中指定由那个类型库提供类名。声明一个具体类的对象变量可加速对象引用。使用下列语法:

    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 声明的变量时,都要测试是否已将对象引用赋给该变量。

要为未在类型库中定义的对象声明对象变量,请

例如,下面声明中的变量 objAny 可以被 Microsoft Excel Chart 对象或 ActiveX 部件提供的任何其他对象所使用。

Dim objAny As Object

声明特定类变量与声明一般的 Object 类的变量不同,区别在于 ActiveX 如何将变量和对象绑定。在声明一般的 Object 类变量时,ActiveX 必须用后期绑定。在声明特定类的对象变量时,ActiveX 用事前绑定,这样能加速对象引用。详细信息,请参阅本章后面的“加速对象引用”一节。

详细信息 关于声明对象变量的更详细的信息,请参阅“Dim 语句”。关于给变量赋值对象引用的更详细的信息,请参阅“将对象引用赋予变量”。