VarType 函式

會傳回 Integer ,指出 變數的子類型,或物件的預設 屬性類型。

語法

VarType (varname)

必要的varname量是包含任何變數的 Variant,但使用者定義型別的變數除外。

傳回值

會傳回下列其中一個常數或其中一個常數的加總。

常數 描述
vbEmpty 0 空白 (未初始化)
vbNull 1 Null (沒有有效的資料)
vbInteger 2 整數
vbLong 3 長整數
vbSingle 4 單精確度浮點數
vbDouble 5 雙精確度浮點數
vbCurrency 6 貨幣值
vbDate 7 日期值
vbString 8 字串
vbObject 9 物件
vbError 10 錯誤值
vbBoolean 11 布林值
vbVariant 12 Variant (僅與變 體陣列搭配使用)
vbDataObject 13 資料存取物件
vbDecimal 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 支援與意見反應