語法
以物件 [ 陳述 ] 結束
With 語句的語法包含以下部分:
| 部分 | 描述 |
|---|---|
| 物件 | 此為必要動作。 物件名稱或使用者自訂型別。 |
| 陳述式 | 選用。 一個或多個要執行在 物件上的語句。 |
註解
With 陳述式允許你對指定物件執行一系列陳述,且不需重新限定物件名稱。 例如,若要更改單一物件上的多個不同 屬性 ,將屬性指派語句置於 With 控制結構中,該物件只參考一次,而非每次屬性指派都指向該物件。
以下範例說明了 With 陳述句如何將值指派給同一物件的多個屬性。
With MyLabel
.Height = 2000
.Width = 2000
.Caption = "This is MyLabel"
End With
注意事項
一旦輸入 With 區塊, 物件 就無法更改。 因此,你無法用單一 With 陳述式同時影響多個不同的物件。
你可以將 With 陳述句置入另一個 With 區塊中來巢狀。 然而,由於外部 With 區塊的成員會被遮罩在內層 的 With 區塊中,你必須在內層 With 區塊中提供一個完全限定的物件參考給外層 With 區塊中物件的任意成員。
注意事項
一般來說,建議不要隨意跳進或跳出 With Blocks 。 如果執行 了 With 區塊中的陳述,但 With 或 End With 陳述式未被執行,則包含物件參考的臨時變數會留在記憶體中,直到你退出程序。
範例
此範例使用 With 陳述式來對單一物件執行一系列陳述式。 物件及其屬性僅為說明目的的通用名稱。
With MyObject
.Height = 100 ' Same as MyObject.Height = 100.
.Caption = "Hello World" ' Same as MyObject.Caption = "Hello World".
With .Font
.Color = Red ' Same as MyObject.Font.Color = Red.
.Bold = True ' Same as MyObject.Font.Bold = True.
End With
End With
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。