VarType 函數

會傳回代表 變數之子類型的 整數,或物件之預設 屬性的類型。

語法

VarType (varname)

必要的 varname 變數為 Variant ,其中包含除 使用者定義類型的變數以外的任何變數。

傳回值

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

常數 描述
vbEmpty 0 (未初始化)
vbNull 1 Null (沒有有效的資料)
vbInteger 整數
vbLong 長整數
vbSingle 4 單一精度浮點數
vbDouble 5 雙精度浮點數
vbCurrency 6 貨幣值
vbDate 7 日期值
vbString 8 String
vbObject 9 物件
vbError 10 錯誤值
vbBoolean 布林值
vbVariant 12 Variant (只搭配 variant 的 陣列 使用)
vbDataObject 13 資料存取物件
vbDecimal 14 十進位值
vbByte 17 位元組值
vbLongLong LongLong integer (僅在64位平臺上有效)
vbUserDefinedType 36 包含使用者定義類型的變體
vbArray 8192 陣列 (會在此函數傳回時,永遠新增至另一個常數)

注意

這些常數是由 Visual Basic for Applications 所指定。 您可以在程式碼中的任何地方使用這些名稱來取代實際值。

註解

如果傳遞的物件具有 default 屬性,則 VarType (object) 會傳回物件的預設屬性的類型。

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 支援與意見反應