共用方式為


帶有陳述

對單一物件或使用者定義型別執行一系列語句

語法

物件 [ 陳述 ] 結束

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 區塊中的陳述,但 WithEnd 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 支援與意見反應