Variant 数据类型
Variant 数据类型是未明确声明为某一其他类型(使用诸如 Dim、Private、Public 或 Static 的语句)的所有变量的数据类型。
Variant 数据类型没有类型声明字符。
Variant 是一个特殊数据类型,它包含除固定长度 String 数据以外的任何类型的数据。 (Variant 类型现在支持用户定义的类型)。Variant 还可以包含特殊值 Empty、Error、Nothing 和 Null。 可以使用 VarType 函数或 TypeName 函数来确定如何对待 Variant 中的数据。
使用VarType 函数测试 Variant 中保存的数据类型。
数值型数据可以是任意整数或负值范围从 -1.797693134862315E308 到 -4.94066E-324 和正值范围从 4.94066E-324 到 1.797693134862315E308 的实数值。
通常,数值型 Variant 数据在 Variant 内保持其原始的数据类型。 例如,如果将 Integer 分配给 Variant,则后续操作会将 Variant 视为 Integer。 但如果在包含 Byte、Integer、Long 或 Single 的 Variant 上执行算术运算且结果超出原始数据类型的正常区域,则该结果将在 Variant 内升级到下一个较大数据类型。 Byte 升级到 Integer,Integer 升级到 Long,Long 和 Single 升级到 Double。
在包含 Currency、Decimal 和 Double 值的 Variant 变量超出其各自的区域范围时会发生错误。
使用 Variant 数据类型替换任意数据类型,从而能够更加灵活地使用数据。 如果 Variant 变量的内容为数字,则它们可以是数字的字符串表示形式或其实际值,具体取决于上下文。 例如:
Dim MyVar As Variant
MyVar = 98052
在上述示例中,MyVar
包含数值表示形式—实际值 98052
。 算数运算符在 Variant 变量上按预期工作,其中包含可被解释为数字的数值或字符串数据。 如果使用 + 运算符将 MyVar
添加到另一个包含数字的 Variant 或添加到数值类型的变量中,则结果是算术和。
值 Empty 表示尚未被初始化的 Variant 变量(已分配初始值)。 包含 Empty 的 Variant 用于数值上下文时为 0;用于字符串上下文时为零长度字符串 ("")。
切勿混淆 Empty 和 Null。 Null 指示 Variant 变量有意不包含任何有效数据。
在 Variant 中,Error 是一个用于指示过程中发生错误情况的特殊值。 但与其他错误类型不同,不会进行正常的应用程序级别错误处理。 这样可允许您或应用程序本身基于错误值采取一些替代操作。 可通过使用 CVErr 函数将实数转换为错误值来创建 Error 值。
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。