共用方式為


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 區塊中執行語句,但未執行 WithEndWith語 句,則包含物件參考的暫存變數會保留在記憶體中,直到您結束程序為止。

範例

這個範例會使用 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 支援與意見反應