VarType 函数

返回一个 Integer 类型的值,该值指示 变量的子类型或对象的默认 属性的类型。

语法

VarType (varname)

所需的 varname参数 是一个 Variant 类型的 变量,其中包含除 用户定义类型的变量以外的任何变量。

返回值

将返回以下常量之一或其中一些常量的总和。

常量 Description
vbEmpty 0 (未初始化)
vbNull 1 Null(不是有效数据)
vbInteger 2 Integer
vbLong 3 长整数
vbSingle 4 单精度浮点数
vbDouble 5 双精度浮点数
vbCurrency 6 货币值
vbDate 7 日期值
vbString 8 字符串
vbObject 9 Object
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 支持和反馈,获取有关如何接收支持和提供反馈的指南。