在编代码时我们经常见到
Dim MyObject As New Object
Dim MyObject As Object
Set MyObject =New Object
Set MyObject = Object
究竟加这几句话有什么区别,我们平常写的代码究竟对不对哪??
Dim语句用来声明变量并分配存储空间。
可以使用 Dim 语句在模块级或过程级中声明变量的数据类型,也可以使用Dim 语句来声明变量的对象类型,还可以使用带空圆括号的Dim 语句来定义动态数组。
在Dim语句中New关键字
New |
可选的。可隐式地创建对象的关键字。如果使用 New 来声明对象变量,则在第一次引用该变量时将新建该对象的实例,因此不必使用Set 语句来给该对象引用赋值。 |
例如:DimMyObject As New Object '创建并赋值对象变量
可以同时使用 New 关键字和 Set 语句来声明对象变量,并赋值一对象给它。
例如:SetMyObject = New Object ' 创建和赋值
如果定义对象变量时(即Dim语句中)没有使用 New 关键字,则在使用该变量之前,必须使用Set 语句将该引用对象的变量赋值为一个已有对象。在该变量被赋值之前,所声明的对象变量有一个特定值Nothing,这个值表示该变量没有指向任一个对象实例。
例如:DimMyObject As Object ‘此时MyObject有一个特定值Nothing,这个值表示该 变量没有指向任一个对象实例
Set MyObject = Object ‘MyObject赋值为一个已有对象(即Object)