語法
公開 [ WithEvents ] varname [ ( [ 下標 ] ) ] [ 作為 [ 新 ] 類型 ]
[ , [ WithEvents ] varname [ ( [ 下標 ] ) ] [ 作為 [ 新 ] 類型 ]] ......
Public 聲明語法包含以下部分:
| 部分 | 描述 |
|---|---|
| WithEvents | 選用。 關鍵字指定varname 是一個用來回應由 ActiveX 物件觸發事件的物件變數。 WithEvents 僅適用於 類別模組。 你可以用 WithEvents 宣告任意多的個別變數,但不能用 WithEvents 建立陣列,也不能用 WithEvents 來使用新變數。 |
| varname | 此為必要動作。 變數名稱;遵循標準命名規則。 |
| 下標 | 選用。 陣列變數的維度;最多可宣告 60 個多維度。
下標參數使用以下語法: [ 降低到 ]上[, [下至] 上層......。 當 lower 未明確說明時,陣列的下界由 Option Base 陳述式控制。 若不存在 選項基礎 陳述,下界為零。 |
| 新增 | 選用。 關鍵字是能隱含建立物件的。 如果你在宣告物件變數時使用 New ,物件的第一個參考就會建立一個新的實例,所以你不必使用 Set 陳述來指派物件參考。 新關鍵字不能用來宣告任何內在資料型態的變數。 它也無法用來宣告相依物件的實例,也無法與 WithEvents 一起使用。 |
| type | 選用。 變數的資料型態;可為位元組、布林、整數、長、貨幣、單、雙、十進 (位(目前不支援) )、日期、字串 ((可變長度字串) )、字串長度 ((固定長度字串) )、物件、變體、使用者定義型別或物件型別。 每個定義的變數都用獨立 的 As類型 子句。 |
註解
使用 公共 陳述所宣告的變數,除非選項私 有模組 生效,否則所有應用程式的所有模組中的所有程序皆可用;在這種情況下,變數僅在其所屬 的專案 中是公開的。
Public 陳述句不能在類別模組中宣告固定長度的字串變數。
使用 Public 陳述式來宣告變數的資料型態。 例如,以下陳述將變數宣告為 整數:
Public NumberOfEmployees As Integer
也可以使用 Public 陳述式來宣告變數的物件型別。 以下陳述為新工作表實例宣告變數:
Public X As New Worksheet
若宣告物件變數時未使用 新 關鍵字,則該物件的變數必須先透過 Set 陳述式被指派為現有物件,才能使用。 在被指派物件之前,宣告的物件變數具有特殊值 Nothing,表示它不指向任何特定的物件實例。
你也可以用空括號的 Public 陳述來宣告動態陣列。 宣告動態陣列後,在程序中使用 ReDim 語句定義陣列中的維度與元素數量。 如果你嘗試重新宣告一個陣列變數的維度,而該變數的大小在 Private、 Public 或 Dim 語句中明確指定,就會發生錯誤。
如果你沒有指定資料型別或物件型別,且模組中沒有 Deftype 陳述式,變數預設是 Variant 。
當變數初始化時,數值變數會被初始化為 0,可變長度的字串會初始化為零長度的字串 (“”) ,而固定長度的字串則被填入零。 變體 變數會初始化為 Empty。 使用者定義型態變數的每個元素都被初始化為獨立變數。
範例
此範例在模組層級使用 Public 陳述式 (標準模組的一般節) 來明確宣告變數為 public;也就是說,除非選項私人 模組 生效,否則所有程序、所有模組、所有應用程式均可使用。
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 支援與意見反應。