Set 陳述式
語法
Setobjectvar= {[ New ] objectexpression | Nothing }
Set語句語法具有下列部分:
部分 | 描述 |
---|---|
objectvar | 此為必要動作。 變數或屬性的名稱;遵循標準變數命名慣例。 |
新增 | 選用。 在 宣告期間通常會使用 New 來啟用隱含物件建立。 當 New 與 Set搭配使用時,它會建立 類別的新實 例。 如果 objectvar 包含物件的參考,則該參考會在指派新的參考時釋放。 New關鍵字不能用來建立任何內部資料類型的新實例,也無法用來建立相依物件。 |
objectexpression | 此為必要動作。 表達 式包含物件的名稱、相同 物件類型的另一個宣告變數,或傳回相同物件型別之物件的函式或 方法 。 |
Nothing | 選用。 中止 objectvar 與任何特定物件的關聯。 將 Nothing 指派給 objectvar 會在沒有任何其他變數參考它時,釋放與先前參考之物件相關聯的所有系統和記憶體資源。 |
註解
若要有效, objectvar 必須是與指派給它的物件一致的物件類型。
Dim、Private、Public、ReDim和Static語句只會宣告參照物件的變數。 除非您使用 Set 語句來指派特定物件,否則不會參考任何實際物件。
下列範例說明如何使用 Dim 來宣告類型為 的 數 組 Form1
。 實例 Form1
實際上不存在。 接著設定 會將 的新實例 Form1
參考指派給 myChildForms
變數。 這類程式碼可用來在 MDI 應用程式中建立子表單。
Dim myChildForms(1 to 4) As Form1
Set myChildForms(1) = New Form1
Set myChildForms(2) = New Form1
Set myChildForms(3) = New Form1
Set myChildForms(4) = New Form1
一般而言,當您使用 Set 將物件參考指派給變數時,不會為該變數建立物件的複本。 相反地,會建立 物件的參考。 多個 物件變數 可以參考相同的物件。 因為這類變數是物件的參考,而不是物件的複本,所以物件中的任何變更都會反映在參考該物件的所有變數中。 不過,當您在Set語句中使用New關鍵字時,實際上是在建立 物件的實例。
範例
此範例會使用 Set 語句將物件參考指派給變數。 YourObject 假設為具有 Text 屬性的有效物件。
Dim YourObject, MyObject, MyStr
Set MyObject = YourObject ' Assign object reference.
' MyObject and YourObject refer to the same object.
YourObject.Text = "Hello World" ' Initialize property.
MyStr = MyObject.Text ' Returns "Hello World".
' Discontinue association. MyObject no longer refers to YourObject.
Set MyObject = Nothing ' Release the object.
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應