共用方式為


Public 陳述式

用於 模組層級 ,以宣告公 用變數 並配置儲存空間。

語法

Public [ WithEvents ] varname [ ( [ subscripts ] ) ] [ As [ New ] type ]
[ , [ WithEvents ] varname [ ( [ subscripts ] ) ] [ As [ New ] type ]] . . . .

Public 語句語法包含下列部分:

部分 描述
WithEvents 選用。 關鍵詞,指定 varname 是用來回應 ActiveX 物件所觸發之事件的物件變數WithEvents 只在 類模組中有效。 您可以使用WithEvents來宣告任意數量的個別變數,但無法使用WithEvents建立陣列,也無法搭配WithEvents使用New
varname 此為必要動作。 變數的名稱;遵循標準命名慣例。
下標 選用。 陣列變數的維度;最多可以宣告 60 個多個維度。 下標自變數會使用下列語法:

[ lowerTo ] upper [ , [ lowerTo ] upper ] . . . .

若未在 下方明確陳述,則陣列的下限是由 OptionBase 語句所控制。 如果沒有 OptionBase 語句,則下限為零。
新增 選用。 啟用物件隱含建立的關鍵詞。 如果您在宣告物件變數時使用 New ,則會在第一次參考物件時建立物件的新實例,因此您不需要使用 Set 語句來指派對象參考。 New 關鍵詞不能用來宣告任何內部數據類型的變數。 它也無法用來宣告相依對象的實例,也無法與 WithEvents搭配使用。
type 選用。 變數的數據類型;可能是目前不支援的 ByteBooleanIntegerLongCurrencySingleDoubleDecimal () 、 DateString (,適用於可變長度字符串) 、 固定長度 字元串 () 、 ObjectVariant使用者定義型別對象類型。 針對所定義的每個變數使用個別的 As類型子句。

註解

除非 Option Private Module 有效,否則所有應用程式中所有模組中的所有程式都可以使用使用 Public 語句宣告的變數;在此情況下,變數只會在它們所在的專案內為公用。

Public 語句無法在類模組中用來宣告固定長度字串變數。

使用 Public 語句來宣告變數的數據類型。 例如,下列語句會將變數宣告為 整數

Public NumberOfEmployees As Integer 

也請使用 Public 語句來宣告變數的物件類型。 下列語句會宣告工作表新實例的變數:

Public X As New Worksheet 

如果在宣告物件變數時未使用 New 關鍵詞,則必須先使用 Set 語句將參照物件的變數指派給現有的物件,才能使用它。 在指派物件之前,宣告的物件變數具有特殊值 Nothing,表示它不會參考物件的任何特定實例。

您也可以使用 Public 語句搭配空括弧來宣告動態數位。 宣告動態陣列之後,請在程式內使用 ReDim 語句來定義陣列中的維度和元素數目。 如果您嘗試重新宣告在 PrivatePublicDim 語句中明確指定大小的數位變數維度,則會發生錯誤。

如果您未指定數據類型或物件類型,而且模塊中沒有 Deftype 語 句,則變數預設為 Variant

當變數初始化時,數值變數會初始化為0、變數長度字串會初始化為零長度字串 (“”) ,而固定長度字元串則會填入零。 Variant 變數會初始化為 空白。 用戶定義型別變數的每個項目都會初始化,就像是個別的變數一樣。

範例

本範例會使用標準模組 (一般區段) 模組層級的 Public 語句,明確地將變數宣告為公用;也就是說,除非 Option Private Module 生效,否則所有應用程式中所有模組中的所有程式都可以使用這些程式。

Public Number As Integer ' Public Integer variable. 
Public NameArray(1 To 5) As String ' Public array variable. 
' Multiple declarations, two Variants and one Integer, all Public. 
Public MyVar, YourVar, ThisVar As Integer 

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應