共用方式為


Public 陳述式

用於 模組層 級宣告公開 變數 及分配儲存空間。

語法

公開 [ 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 語句定義陣列中的維度與元素數量。 如果你嘗試重新宣告一個陣列變數的維度,而該變數的大小在 PrivatePublicDim 語句中明確指定,就會發生錯誤。

如果你沒有指定資料型別或物件型別,且模組中沒有 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 支援與意見反應