Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

VBA编程-创建对象变量

时 间:2022-11-03 08:28:08
作 者:福哥(QQ86053924)   ID:1784  城市:成都
摘 要:您可以将对象变量视为与其引用的对象完全相同。 您可以设置或返回对象的属性或使用其任何方法。
正 文:

您可以将对象变量视为与其引用的对象完全相同。 您可以设置或返回对象的属性或使用其任何方法

创建对象变量

1.    声明对象变量。

2.    将对象变量分配给对象。

声明对象变量

使用 Dim 语句或其他声明语句之一 (Public、 Private 或 Static) 声明对象变量。 引用对象的变量必须是 VariantObject 或特定类型对象。 例如,以下声明是有效的:

VB复制

' 将MyObject声明为Variant数据类型。

Dim MyObject

' 将MyObject声明为Object数据类型。

Dim MyObject As Object

' 将MyObject声明为字体类型.

Dim MyObject As Font


 备注

[!注释] 如果使用对象变量而不事先声明它,则对象变量的 数据类型默认为 Variant 。

如果某个特定 对象类型在过程运行之前是未知的,则可以声明具有 Object 数据类型的对象变量。 使用 Object 数据类型可创建对任何对象的泛型引用。

如果您知道特定对象类型,则应将对象变量声明为对象类型。 例如,如果应用程序包含 Sample 对象类型,可以使用以下语句之一声明该对象的对象变量:

VB复制

Dim MyObject As Object '声明为泛型对象。

Dim MyObject As Sample ' 仅声明为Sample对象。


声明特定对象类型可实现自动类型检查、加快编码速度和提高可靠性。

将对象变量分配给对象

使用 Set 语句将对象分配给对象变量。 您可以分配对象 表达式或 Nothing。 例如,以下对象变量赋值是有效的。

VB复制

Set MyObject = YourObject ' 指定对象引用。

Set MyObject = Nothing ' 停止关联。

通过结合使用 New 关键字和 Set 语句,可以将声明对象变量与为其分配对象 相结合。 例如:

VB复制

Set MyObject = New Object ' 创建和分配


将对象变量设置为等于 Nothing 将中断对象变量与任何特定对象的关联。 这将防止因意外更改变量而更改对象。 对象变量在关闭关联对象后始终设置为 Nothing ,以便可以测试对象变量是否指向有效对象。 例如:

VB复制

If Not MyObject Is Nothing Then

 ' 变量引用了有效对象。

 . . .

End If


当然,此测试永远无法确定用户是否已关闭包含对象变量引用的对象的应用程序。

引用对象的当前实例

使用 Me 关键字引用运行代码的对象的当前实例。 与当前对象关联的所有过程可以访问称为 Me 的对象。 当将有关对象的当前实例的信息传递到其他模块中的过程时,使用 Me 特别有用。 例如,假定您在模块中包含了以下过程:

VB复制

Sub ChangeObjectColor(MyObjectName As Object)

 MyObjectName.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)

End Sub

可以通过使用下面的语句调用过程,并作为参数传递对象的当前实例:

VB复制

ChangeObjectColor Me



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助