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