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 | 選用。 變數的數據類型;可能是目前不支援的 Byte、 Boolean、 Integer、 Long、 Currency、 Single、 Double、 Decimal () 、 Date、 String (,適用於可變長度字符串) 、 固定長度 字元串 () 、 Object、 Variant、 使用者定義型別或 對象類型。 針對所定義的每個變數使用個別的 As類型子句。 |
註解
除非 Option Private Module 有效,否則所有應用程式中所有模組中的所有程式都可以使用使用 Public 語句宣告的變數;在此情況下,變數只會在它們所在的專案內為公用。
Public 語句無法在類模組中用來宣告固定長度字串變數。
使用 Public 語句來宣告變數的數據類型。 例如,下列語句會將變數宣告為 整數:
Public NumberOfEmployees As Integer
也請使用 Public 語句來宣告變數的物件類型。 下列語句會宣告工作表新實例的變數:
Public X As New Worksheet
如果在宣告物件變數時未使用 New 關鍵詞,則必須先使用 Set 語句將參照物件的變數指派給現有的物件,才能使用它。 在指派物件之前,宣告的物件變數具有特殊值 Nothing,表示它不會參考物件的任何特定實例。
您也可以使用 Public 語句搭配空括弧來宣告動態數位。 宣告動態陣列之後,請在程式內使用 ReDim 語句來定義陣列中的維度和元素數目。 如果您嘗試重新宣告在 Private、 Public 或 Dim 語句中明確指定大小的數位變數維度,則會發生錯誤。
如果您未指定數據類型或物件類型,而且模塊中沒有 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 支援與意見反應。