VBS教程:VBScript 語句-Set 語句

NO IMAGE

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 相關聯的 SubFunction 名稱的字串。

說明

為了使其有效,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  & "<BR>"   s = s & "Free Space: " & FormatNumber(d.FreeSpace/1024, 0)    s = s & " Kbytes"   ShowFreeSpace = sEnd Function

利用 New 關鍵詞,您可以隨時建立一個類的例項,並將一個物件引用變數賦值給它。賦給類的例項的變數一定利用 Dim (或相似的語句)語句事先已經宣告。

有關使用 Set 語句關聯一個過程與物件的詳細資訊,請參考 GetRef 函式的文件。