With 語句

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

語法

使用物件 [ 語句 ] 結尾為

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 區塊。 如果執行 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 支援與意見反應