Set 语句将对象引用赋给一个variable或property,或者将对象引用与事件关联。
Set objectvar = {objectexpression | New classname | Nothing}-或者-Set object.eventname = GetRef(procname)参数objectvar必选项,变量或属性名称;符合标准变量命名约定。
objectexpression可选项,与对象名称一致的Expression,另一个相同object type、函数或方法的已声明变量,它们返回相同对象类型的对象。
New用于创建一个类的新实例的Keyword。如果objectvar包含一个对某个对象的引用,当一个新的引用被赋给这个对象之后,则这个引用将被释放。
New关键仅用于创建一个class的实例。
classname可选项. 创建的类名称。使用Class语句定义类及其语句。
Nothing可选项。断开objectvar与任何指定对象或类的关联。当没有其他变量引用前面的引用对象时,将objectvar赋值为Nothing以释放与前面的引用对象相关联的系统或内存资源。
object必选项。与 event 相关联的对象名称。
event必选项。函数作用域的事件名称。
procname必选项。包含与event相关联的Sub或Function名称的字符串。
说明为了使其有效,objectvar必须与赋值的对象类型相一致。
Dim,Private,Public, 或ReDim语句仅声明一个引用对象的变量。在使用.
Set语句为一个具体对象赋值之前,没有实际对象可以引用。
通常, 当您使用Set语句将一个对象引用赋给一个变量之前,不会创建那个变量的对象的副本。实际上,只创建了一个对象的引用。多个引用对象变量可以引用相同的对象。因为这些变量都是对象的引用,而不是对对象副本的引用,因此对象中所作的任何变化都可以在引用该对象的所有变量中反映出来。
Function ShowFreeSpace(drvPath) Dim fso, d, s Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName(drvPath)) s = "Drive " & UCase(drvPath) & " - " s = s & d.VolumeName & "利用New关键词,您可以随时创建一个类的实例,并将一个对象引用变量赋值给它。赋给类的实例的变量一定利用Dim (或相似的语句)语句事先已经声明。
" s = s & "Free Space: " & FormatNumber(d.FreeSpace/1024, 0) s = s & " Kbytes" ShowFreeSpace = sEnd Function
有关使用Set语句关联一个过程与对象的详细信息,请参考GetRef函数的文档。
