第八章 VBA编程基础文档格式.docx
《第八章 VBA编程基础文档格式.docx》由会员分享,可在线阅读,更多相关《第八章 VBA编程基础文档格式.docx(49页珍藏版)》请在冰豆网上搜索。
声明符
字节
————————————————
Byte(单字节型)
1
Integer(整型)
%
2
Long(长整型)
&
4
Single(单精度型)
!
4
Double(双精度型)
#
8
Currency(货币型)
@
String(字符型)
$
n*1
Boolean(布尔型)
2
Date(日期型)
8
Variant(变体型)
x
Object(对象型)
4
其中,字节、整型、长整型、单精度、双精度、货币等数据类型都属于数值数据类型,可以进行各种数学运算。
字符型数据类型用来声明字符串。
布尔型数据类型用来表示一个逻辑值,为真时显示True,为假时显示Flase。
日期型数据类型用来表示日期,日期常量必须用#括起来,如#2001/3/26#。
变体型数据类型可以存放系统定义的任何数据类型,如数值、字符串、布尔及日期等,其数据类型由最近放入的值决定。
用户可以使用Type语句定义任何数据类型。
用户自定义数据类型可以包括数据类型数组,或当前定义的用户自定义类型的一种或多种元素。
语法:
[Private|Public]Type类型名
元素名As数据类型
[元素名As数据类型]
……
EndType
例如:
定义班级中学生的基本情况数据类型如下:
PublicTypeStudents
NameAsString(8)
Age
AsInteger
声明变量:
DimStudentAsStudents
引用数据:
Student.Name=”张三”
Student.Age=15
下面是详细参考内容
◆Boolean数据类型
Boolean变量存储为16位(2个字节)的数值形式,但只能是True或是False。
Boolean变量的值显示为True或False(在使用Print的时候),或者#TRUE#或#FALSE#(在使用Write#的时候)。
使用关键字True与False可将Boolean变量赋值为这两个状态中的一个。
当转换其他的数值类型为Boolean值时,0会转成False,而其他的值则变成True。
当转换Boolean值为其他的数据类型时,False成为0,而True成为-1。
◆Byte数据类型
Byte变量存储为单精度型、无符号整型、8位(1个字节)的数值形式,范围在0至255之间。
Byte数据类型在存储二进制数据时很有用。
◆Currency数据类型
Currency变量存储为64位(8个字节)整型的数值形式,然后除以10,000给出一个定点数,其小数点左边有15位数字,右边有4位数字。
这种表示法的范围可以从-922,337,203,685,477.5808到922,337,203,685,477.5807。
Currency的类型声明字符为at号(@)。
Currency数据类型在货币计算与定点计算中很有用,在这种场合精度特别重要。
◆Date数据类型
Date变量存储为IEEE64位(8个字节)浮点数值形式,其可以表示的日期范围从100年1月1日到9999年12月31日,而时间可以从0:
00:
00到23:
59:
59。
任何可辨认的文本日期都可以赋值给Date变量。
日期文字须以数字符号(#)扩起来,例如,#January1,1993#或#1Jan93#。
Date变量会根据计算机中的短日期格式来显示。
时间则根据计算机的时间格式(12或24小时制)来显示。
当其他的数值类型要转换为Date型时,小数点左边的值表示日期信息,而小数点右边的值则表示时间。
午夜为0而中午为0.5。
负整数表示1899年12月30日之前的日期。
◆Decimal数据类型
Decimal变量存储为96位(12个字节)带符号的整型形式,并除以一个10的幂数。
这个变比因子决定了小数点右面的数字位数,其范围从0到28。
变比因子为0(没有小数位)的情形下,最大的可能值为+/-79,228,162,514,264,337,593,543,950,335。
而在有28个小数位的情况下,最大值为+/-7.9228162514264337593543950335,而最小的非零值为+/-0.0000000000000000000000000001。
注意此时,Decimal数据类型只能在Variant中使用,也就是说,不能声明一变量为Decimal的类型。
不过可用Cdec函数,创建一个子类型为Decimal的Variant。
◆Double数据类型
Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从-1.79769313486231E308到-4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。
Double的类型声明字符是数字符号(#)。
◆Integer数据类型
Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。
Integer的类型声明字符是百分比符号(%)。
也可以用Integer变量来表示枚举值。
枚举值可包含一个有限集合,该集合包含的元素都是唯一的整数,每一个整数都在它使用时的上下文当中有其特殊意义。
枚举值为在已知数量的选项中做出选择提供了一种方便的方法,例如,black=0,white=1等等。
较好的编程作法是使用Const语句将每个枚举值定义成常数。
◆Long数据类型
Long(长整型)变量存储为32位(4个字节)有符号的数值形式,其范围从-2,147,483,648到2,147,483,647。
Long的类型声明字符为和号(&
)。
◆Object数据类型
Object变量存储为32位(4个字节)的地址形式,其为对象的引用。
利用Set语句,声明为Object的变量可以赋值为任何对象的引用。
注意虽然以Object类型声明的变量足以适应包含对各种对象的引用,但是绑定到变量引用的对象总是在晚期(运行时)绑定。
要强迫在早期(编译时间)绑定的话,须将对象的引用赋值给用特定类名称声明的变量。
◆Single数据类型
Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。
Single的类型声明字符为感叹号(!
◆String数据类型
字符串有两种:
变长与定长的字符串。
变长字符串最多可包含大约20亿(2^31)个字符。
定长字符串可包含1到大约64K(2^16)个字符。
注意Public定长字符串不能在类模块中使用。
String之字符码的范围是0到255。
字符集的前128个字符(0到127)对应于标准的U.S.键盘上的字符与符号。
这前128个字符与ASCII字符集中所定义的相同。
后128个字符(128到255)则代表特殊字符,例如国际字符,重音符号,货币符号及分数。
String的类型声明字符为美元号($)。
◆用户定义数据类型
可以是任何用Type语句定义的数据类型。
用户自定义类型可包含一个或多个某种数据类型的数据元素、数组或一个先前定义的用户自定义类型。
TypeMyType
MyNameAsString
'
定义字符串变量存储一个名字。
MyBirthDateAsDate
定义日期变量存储一个生日。
MySexAsInteger
定义整型变量存储性别
EndType
(0为女,1为男)
◆Variant数据类型
Variant数据类型是所有没被显式声明(用如Dim、Private、Public或Static等语句)为其他类型变量的数据类型。
Variant数据类型并没有类型声明字符。
Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。
Variant也可以包含Empty、Error、Nothing及Null等特殊值。
可以用VarType函数或TypeName函数来决定如何处理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。
当Variant变量中有Currency、Decimal及Double值超过它们各自的范围时,会发生错误。
可以用Variant数据类型来替换任何数据类型,这样会更有适应性。
如果Variant变量的内容是数字,它可以用字符串来表示数字或是用它实际的值来表示,这将由上下文来决定,例如:
DimMyVarAsVariant
MyVar=98052
在前面的例子中,MyVar内有一实际值为98052的数值。
像期望的那样,算术运算子可以对Variant变量运算,其中包含数值或能被解释为数值的字符串数据。
如果用+运算子来将MyVar与其他含有数字的Variant或数值类型的变量相加,结果便是一算术和。