語(yǔ)法
Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As [New] type]] . . .
Dim 語(yǔ)句的語(yǔ)法包含下面部分:
部分 描述
WithEvents 可選的。關(guān)鍵字,說明 varname 是一個(gè)用來響應(yīng)由 ActiveX 對(duì)象觸發(fā)的事件的對(duì)象變量。只有在類模塊中才是合法的。使用 WithEvents,可以聲明任意個(gè)所需的單變量,但不能使用 WithEvents 創(chuàng)建數(shù)組。New 和 WithEvents 不能一起使用。
varname 必需的。變量的名稱;遵循標(biāo)準(zhǔn)的變量命名約定。
subscripts 可選的。數(shù)組變量的維數(shù);最多可以定義 60 維的多維數(shù)組。subscripts 參數(shù)使用下面的語(yǔ)法:
[lower To] upper [, [lower To] upper] . . .
如果不顯式指定 lower,則數(shù)組的下界由 Option Base 語(yǔ)句控制。如果沒有使用 Option Base 語(yǔ)句,則下界為 0。
New 可選的。可隱式地創(chuàng)建對(duì)象的關(guān)鍵字。如果使用 New 來聲明對(duì)象變量,則在第一次引用該變量時(shí)將新建該對(duì)象的實(shí)例,因此不必使用 Set 語(yǔ)句來給該對(duì)象引用賦值。New 關(guān)鍵字不能聲明任何內(nèi)部數(shù)據(jù)類型的變量,以及從屬對(duì)象的實(shí)例,也不能與 WithEvents 一起使用。
type 可選的。變量的數(shù)據(jù)類型;可以是 Byte、布爾、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(對(duì)變長(zhǎng)的字符串)、String * length (對(duì)定長(zhǎng)的字符串)、Object、Variant、用戶定義類型、或?qū)ο箢愋?。所聲明的每個(gè)變量都要一個(gè)單獨(dú)的 As type 子句。
說明
在模塊級(jí)別中用 Dim 聲明的變量,對(duì)該模塊中的所有過程都是可用的。在過程級(jí)別中聲明的變量,只在過程內(nèi)是可用的。
可以使用 Dim 語(yǔ)句在模塊級(jí)或過程級(jí)中聲明變量的數(shù)據(jù)類型。例如,下面的語(yǔ)句聲明了 Integer 類型的變量。
Dim NumberOfEmployees As Integer
也可以使用 Dim 語(yǔ)句來聲明變量的對(duì)象類型。下面的語(yǔ)句為工作表的新建實(shí)例聲明了一個(gè)變量。
Dim X As New Worksheet
如果定義對(duì)象變量時(shí)沒有使用 New 關(guān)鍵字,則在使用該變量之前,必須使用 Set 語(yǔ)句將該引用對(duì)象的變量賦值為一個(gè)已有對(duì)象。在該變量被賦值之前,所聲明的對(duì)象變量有一個(gè)特定值 Nothing,這個(gè)值表示該變量沒有指向任一個(gè)對(duì)象實(shí)例。
也可以使用帶空?qǐng)A括號(hào)的 Dim 語(yǔ)句來定義動(dòng)態(tài)數(shù)組。在定義動(dòng)態(tài)數(shù)組后,可以在過程內(nèi)使用 ReDim 語(yǔ)句來定義該數(shù)組的維數(shù)和元素。如果試圖在 Private,Public 或 Dim 語(yǔ)句中重新定義一個(gè)已顯式定義了大小的數(shù)組的維數(shù)時(shí),就會(huì)發(fā)生錯(cuò)誤。
如果不指定數(shù)據(jù)類型或?qū)ο箢愋停以谀K中沒有 Deftype 語(yǔ)句,則該變量按缺省設(shè)置是 Variant 類型。
當(dāng)初始化變量時(shí),數(shù)值變量被初始化為 0,變長(zhǎng)的字符串被初始化為一個(gè)零長(zhǎng)度的字符串 (""),而定長(zhǎng)的字符串則用 0 填充。Variant 變量被初始化為 Empty。用戶自定義類型的變量的每個(gè)元素作為各自獨(dú)立的變量進(jìn)行初始化。
注意 當(dāng)在過程中使用 Dim 語(yǔ)句時(shí),通常將 Dim 語(yǔ)句放在過程的開始處。
更多信息請(qǐng)查看IT技術(shù)專欄