频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

VBA基础:如何动态获取VBA变量动态类型

来源:csdn 作者:红河 出处:巧巧读书 2008-07-07 进入讨论组

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

     幸运的是,VBA提供了VarType(varname)函数来对应变量的数据类型。请看下表:

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

语法

VarType(varname)

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

返回值

常数 描述
vbEmpty 0 Empty(未初始化)
vbNull 1 Null(无有效数据)
vbInteger 2 整数
vbLong 3 长整数
vbSingle 4 单精度浮点数
vbDouble 5 双精度浮点数
vbCurrency 6 货币值
vbDate 7 日期
vbString 8 字符串
vbObject 9 对象
vbError 10 错误值
vbBoolean 11 Boolean 值
vbVariant 12 Variant(只与变体中的数组一起使用)
vbDataObject 13 数据访问对象
vbDecimal 14 十进制值
vbByte 17 位值
vbUserDefinedType 36 包含用户定义类型的变量
vbArray 8192 数组

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

说明

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

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

VarType 函数示例

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

Dim IntVar, StrVar, DateVar, MyCheck
' 初始化变量。
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的帮组文件和网上一些资料,这里仅仅是为了分享学习体会。
进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章