当前位置:   article > 正文

如何动态获取VBA变量动态类型(VBA基础知识)_vba获取变量类型

vba获取变量类型
    在使用VBA变量的某些时候,我们需要获知变量的存储范围,所以如何获取变量类型是一个重要点。通过变量类型,我们就很容易的获取它的字节数,从而却动它的存储范围,就象C/C++所用的sizeof(var_type)那样。那么摆在初学者面前的头一个问题就是如何获得变量类型呢?     幸运的是,VBA提供了 VarType( varname )函数来对应变量的数据类型。请看下表:

返回一个 Integer,指出变量的子类型。

语法

VarType(varname)

必要的 varname 参数是一个 Variant,包含用户定义类型变量之外的任何变量。

返回值

常数描述
vbEmpty0Empty(未初始化)
vbNull1Null(无有效数据)
vbInteger2整数
vbLong3长整数
vbSingle4单精度浮点数
vbDouble5双精度浮点数
vbCurrency6货币值
vbDate7日期
vbString8字符串
vbObject9对象
vbError10错误值
vbBoolean11Boolean 值
vbVariant12Variant(只与变体中的数组一起使用)
vbDataObject13数据访问对象
vbDecimal14十进制值
vbByte17位值
vbUserDefinedType36包含用户定义类型的变量
vbArray8192数组

注意 这些常数是由 Visual Basic 为应用程序指定的。这些名称可以在程序代码中到处使用,以代替实际值。

说明

VarType 函数自身从不对 vbArray 返回值。VarType 总是要加上一些其他值来指出一个具体类型的数组。常数 vbVariant 只与 vbArray 一起返回,以表明 VarType 函数的参数是一个 Variant 类型的数组。例如,对一个整数数组的返回值是 vbInteger + vbArray,或 8194。如果一个对象有缺省属性,则 VarType (object) 返回对象缺省属性的类型。

非常好,那么如何使用呢?这里举几个例子:

VarType 函数示例

本示例使用 VarType 函数决定变量的次类型(subtype)。

  1. Dim IntVar, StrVar, DateVar, MyCheck
  2. '
初始化变量。 IntVar = 459: StrVar = "Hello World": DateVar = #2/12/69# MyCheck = VarType(IntVar) ' 返回 2MyCheck = VarType(DateVar) ' 返回 7MyCheck = VarType(StrVar) ' 返回 8。 此外,附上一些类型大小的说明:

数据类型 存储空间大小 范围

Byte 1 个字节 0 到 255

Boolean 2 个字节 True 或 False

Integer 2 个字节 -32,768 到 32,767

Long

(长整型) 4 个字节 -2,147,483,648 到 2,147,483,647

Single

(单精度浮点型) 4 个字节 负数时从 -3.402823E38 到 -1.401298E-45;正数时从 1.401298E-45 到 3.402823E38

Double

(双精度浮点型) 8 个字节 负数时从 -1.79769313486231E308到-4.94065645841247E-324;正数时从4.94065645841247E-324 到 1.79769313486232E308

Currency

(变比整型) 8 个字节 从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807

Decimal 14 个字节 没有小数点时为 +/-79,228,162,514,264,337,593,543,950,335,而小数点右边有 28 位数时为 +/-7.9228162514264337593543950335;最小的非零值为 +/-0.0000000000000000000000000001

Date 8 个字节 100 年 1 月 1 日 到 9999 年 12 月 31 日

Object 4 个字节 任何 Object 引用

String

(变长) 10 字节加字符串长度 0 到大约 20 亿

String

(定长) 字符串长度 1 到大约 65,400

Variant

(数字) 16 个字节 任何数字值,最大可达 Double 的范围

Variant

(字符) 22 个字节加字符串长度 与变长 String 有相同的范围

用户自定义

(利用 Type) 所有元素所需数目 每个元素的范围与它本身的数据类型的范围相同。

其中的Variant是个很特殊的数据类型,它能表示除固定长度之外的所有值,并可以通过VarType来返回其数据子类型。其语法如下:

VarType(varname)

必要的 varname 参数是一个 Variant,包含用户定义类型变量之外的任何变量。

 文中部分内容拷贝于VB的帮组文件和网上一些资料,这里仅仅是为了分享学习体会。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号