文法
Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As [New] type]] . . .
Dim 語句的文法包含下面部分:
部分 |
描述 |
WithEvents |
可選的。關鍵字,說明 varname 是一個用來響應由 ActiveX 對象觸發的事件的物件變數。只有在類別模組中才是合法的。使用 WithEvents,可以聲明任意個所需的單變數,但不能使用 WithEvents 建立數組。New 和 WithEvents 不能一起使用。 |
varname |
必需的。變數的名稱;遵循標準的變數命名規範。 |
subscripts |
可選的。陣列變數的維數;最多可以定義 60 維的多維陣列。subscripts 參數使用下面的文法: |
|
[lower To] upper [, [lower To] upper] . . . |
|
如果不顯式指定 lower,則數組的下界由 Option Base 語句控制。如果沒有使用 Option Base 語句,則下界為 0。 |
New |
可選的。可隱式地建立對象的關鍵字。如果使用 New 來聲明物件變數,則在第一次引用該變數時將建立該對象的執行個體,因此不必使用 Set 語句來給該對象引用賦值。New 關鍵字不能聲明任何內部資料類型的變數,以及從屬對象的執行個體,也不能與 WithEvents 一起使用。 |
type |
可選的。變數的資料類型;可以是 Byte、布爾、Integer、Long、Currency、Single、Double、Decimal(目前尚不支援)、Date、String(對變長的字串)、String * length (對定長的字串)、Object、Variant、使用者定義型別、或物件類型。所聲明的每個變數都要一個單獨的 As type 子句。 |
說明
在模組層級別中用 Dim 聲明的變數,對該模組中的所有過程都是可用的。在過程層級中聲明的變數,只在過程內是可用的。
可以使用 Dim 語句在模組層級或過程級中聲明變數的資料類型。例如,下面的語句聲明了 Integer 類型的變數。
Dim NumberOfEmployees As Integer
也可以使用 Dim 語句來聲明變數的物件類型。下面的語句為工作表的建立執行個體聲明了一個變數。
Dim X As New Worksheet
如果定義物件變數時沒有使用 New 關鍵字,則在使用該變數之前,必須使用 Set 語句將該引用對象的變數賦值為一個已有對象。在該變數被賦值之前,所聲明的物件變數有一個特定值 Nothing,這個值表示該變數沒有指向任一個對象執行個體。
也可以使用帶空圓括弧的 Dim 語句來定義動態數組。在定義動態數組後,可以在過程內使用 ReDim 語句來定義該數組的維數和元素。如果試圖在 Private,Public 或 Dim 語句中重新定義一個已顯式定義了大小的數組的維數時,就會發生錯誤。
如果不指定資料類型或物件類型,且在模組中沒有 Deftype 語句,則該變數按預設設定是 Variant 類型。
當初始設定變數時,數值變數被初始化為 0,變長的字串被初始化為一個零長度的字串 (""),而定長的字串則用 0 填充。Variant 變數被初始化為 Empty。使用者自訂類型的變數的每個元素作為各自獨立的變數進行初始化。
注意 當在過程中使用 Dim 語句時,通常將 Dim 語句放在過程的開始處。