回傳一個整 數 ,表示 變數的子型別,或物件預設 屬性的型別。
語法
VarType (varname)
所需的 varname參數 是一個包含任意變數的 變體 ,除了使用者 定義型別的變數外。
傳回值
會回傳以下其中一個常數或其中若干常數的求和。
| 常數 | 值 | 描述 |
|---|---|---|
| vbEmpty | 0 | 空的 (未初始化的) |
| vbNull | 1 | Null (沒有有效資料) |
| vbInteger | 2 | 整數 |
| vbLong | 3 | 長整數 |
| vb單曲 | 4 | 單精度浮點數 |
| vb雙倍 | 5 | 雙精度浮點數 |
| vb貨幣 | 6 | 貨幣價值 |
| vbDate | 7 | 日期價值 |
| vb弦 | 8 | 字串 |
| vb物件 | 9 | 物件 |
| vb錯誤 | 10 | 誤差值 |
| vbBoolean | 11 | 布林值 |
| vb變體 | 12 | 變體 (僅用於變 體陣列) |
| vbDataObject | 13 | 資料存取物件 |
| vb十進制 | 14 | 十進位值 |
| vbByte | 17 | 位元組值 |
| vbLongLong | 20 | LongLong 整數 (僅適用於 64 位元平台) |
| vbUserDefinedType | 36 | 包含使用者定義型別的變體 |
| vbArray | 8192 | 陣列 (在這個函式回傳時,總是會加到另一個常數上) |
注意事項
這些常數是由 Visual Basic for Applications 所指定。 這些名稱可以在程式碼中任何地方使用,取代實際的數值。
註解
如果傳遞物件且有預設屬性, VarType (物件) 回傳該物件預設屬性的類型。
VarType 函式本身從不會回傳 vbArray 的值。 它總是會被加入其他值,以表示特定類型的陣列。 例如,整數陣列回傳的值會以 vbInteger + vbArray 或 8194 計算。
常數 vbVariant 僅與 vbArray 一起回傳,以表示 VarType 函式的參數為 Variant 型別的陣列。
範例
此範例使用 VarType 函式來判斷不同變數的子型別,甚至在一個案例中,還決定了物件預設屬性的型別。
Dim MyCheck
Dim IntVar, StrVar, DateVar, AppVar, ArrayVar
' Initialize variables.
IntVar = 459: StrVar = "Hello World": DateVar = #2/12/1969#
Set AppVar = Excel.Application
ArrayVar = Array("1st Element", "2nd Element")
' Run VarType function on different types.
MyCheck = VarType(IntVar) ' Returns 2.
MyCheck = VarType(DateVar) ' Returns 7.
MyCheck = VarType(StrVar) ' Returns 8.
MyCheck = VarType(AppVar) ' Returns 8 (vbString)
' even though AppVar is an object.
MyCheck = VarType(ArrayVar) ' Returns 8204 which is
' `8192 + 12`, the computation of
' `vbArray + vbVariant`.
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。