Set 語(yǔ)句
將對(duì)象引用賦給一個(gè)variable或property,或者將對(duì)象引用與事件關(guān)聯(lián)。
Set objectvar = {objectexpression | New classname | Nothing
}
-或者-
Set object.eventname = GetRef(procname)
參數(shù)
objectvar
必選項(xiàng),變量或?qū)傩悦Q(chēng);符合標(biāo)準(zhǔn)變量命名約定。
objectexpression
可選項(xiàng),與對(duì)象名稱(chēng)一致的Expression,另一個(gè)相同object type、函數(shù)或方法的已聲明變量,它們返回相同對(duì)象類(lèi)型的對(duì)象。
New
用于創(chuàng)建一個(gè)類(lèi)的新實(shí)例的Keyword。如果 objectvar 包含一個(gè)對(duì)某個(gè)對(duì)象的引用,當(dāng)一個(gè)新的引用被賦給這個(gè)對(duì)象之后,則這個(gè)引用將被釋放。New 關(guān)鍵僅用于創(chuàng)建一個(gè)class的實(shí)例。
classname
可選項(xiàng). 創(chuàng)建的類(lèi)名稱(chēng)。使用 Class 語(yǔ)句定義類(lèi)及其語(yǔ)句。
Nothing
可選項(xiàng)。斷開(kāi) objectvar 與任何指定對(duì)象或類(lèi)的關(guān)聯(lián)。當(dāng)沒(méi)有其他變量引用前面的引用對(duì)象時(shí),將 objectvar 賦值為 Nothing 以釋放與前面的引用對(duì)象相關(guān)聯(lián)的系統(tǒng)或內(nèi)存資源。
object
必選項(xiàng)。與 event 相關(guān)聯(lián)的對(duì)象名稱(chēng)。
event
必選項(xiàng)。函數(shù)作用域的事件名稱(chēng)。
procname
必選項(xiàng)。包含與event 相關(guān)聯(lián)的 Sub 或 Function 名稱(chēng)的字符串。
說(shuō)明
為了使其有效,objectvar 必須與賦值的對(duì)象類(lèi)型相一致。
Dim, Private, Public, 或 ReDim 語(yǔ)句僅聲明一個(gè)引用對(duì)象的變量。在使用. Set 語(yǔ)句為一個(gè)具體對(duì)象賦值之前,沒(méi)有實(shí)際對(duì)象可以引用。
通常, 當(dāng)您使用 Set 語(yǔ)句將一個(gè)對(duì)象引用賦給一個(gè)變量之前,不會(huì)創(chuàng)建那個(gè)變量的對(duì)象的副本。實(shí)際上,只創(chuàng)建了一個(gè)對(duì)象的引用。多個(gè)引用對(duì)象變量可以引用相同的對(duì)象。因?yàn)檫@些變量都是對(duì)象的引用,而不是對(duì)對(duì)象副本的引用,因此對(duì)象中所作的任何變化都可以在引用該對(duì)象的所有變量中反映出來(lái)。
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
利用 New 關(guān)鍵詞,您可以隨時(shí)創(chuàng)建一個(gè)類(lèi)的實(shí)例,并將一個(gè)對(duì)象引用變量賦值給它。賦給類(lèi)的實(shí)例的變量一定利用 Dim (或相似的語(yǔ)句)語(yǔ)句事先已經(jīng)聲明。
有關(guān)使用 Set 語(yǔ)句關(guān)聯(lián)一個(gè)過(guò)程與對(duì)象的詳細(xì)信息,請(qǐng)參考 GetRef 函數(shù)的文檔。