【烟花原创】VBA零基础之第30篇 对象(五)
一篇我们讲了如何引用对象,主要是通过从对象集合中进行引用,今天我们讲讲如何使用对象变量来引用对象。
什么是对象变量呢?
前面已经有过讲变量了,通俗的说,就是变量的类型是对象类型,象单元格,工作表,工作簿这些。
声明对象变量
和前面提过的变量声明基本上差不多,不过在as type的时候一定要指定一个对象类型。
这个对象变量的类型必须是Variant,Object或一个对象的指定类型。
这个对象变量的类型必须是Variant,Object或一个对象的指定类型。
'声明 objRange 为 Variant 数据类型。
Dim objRange
'声明 objRange 为 Object 数据类型。
Dim objRange As Object
'声明 objRange 为 Range 类型。
Dim objRange As Range
注意,如果使用对象变量前没有声明它,则对象变量缺省的数据类型就是Variant类型。
当需等到过程运行才知道指定的对象类型时,可以利用 Object 数据类型来声明。
一般使用 Object 数据类型来创建对任何对象的一般的引用。
如果知道指定的对象类型,推荐将对象变量声明成所知道的对象类型。
例如,如果应用程序包含 Sample 对象类型,则可以用下列的语句来声明一个对象变量为 Sample 对象类型:
例如,如果应用程序包含 Sample 对象类型,则可以用下列的语句来声明一个对象变量为 Sample 对象类型:
Dim MyObject As Object '声明为一般的对象。
Dim MyObject As Sample '只声明为 Sample 对象。
声明指定的对象类型可以提供自动的类型检查,更快的代码,并增加可读性。
当我们在对象变量名称后输入.后时会有自动成员列表。(这在声明为Object或Variant时可享受不到这项待遇的)
当我们在对象变量名称后输入.后时会有自动成员列表。(这在声明为Object或Variant时可享受不到这项待遇的)
赋值对象给对象变量
使用 Set 语句可以赋值一个对象给对象变量,也可以赋值对象表达式或是Nothing。
例如:
Set objRange=range(“a1:C3”)
Set objSht=worksheets(“sheet3”)
设置一个对象变量等于 Nothing,会中断此对象变量与任何特定对象的关联,如此可预防因意外的改变变量而更改对象。
一般会用代码过程结束前用这个来实现对对象变量的善后工作。
一般会用代码过程结束前用这个来实现对对象变量的善后工作。
在关闭关联对象后,对象变量总是设置为 Nothing,所以可以用来检测对象变量是否指到有效的对象。
例如:
If Not MyObject Is Nothing Then
' 变量引用有效的对象。
.. .
End If
另外可以同时使用 New 关键字和 Set 语句来声明对象变量,并赋值一对象给它。
例如:Set objDic = New Dictionary ' 创建并赋值对象字典。
额外知识点:Me关键字。有兴趣的童鞋可以查查帮助。
赞 (0)