内容发布更新时间 : 2024/11/9 10:47:45星期一 下面是文章的全部内容请认真阅读。
第八章 使用VBA编程
本章内容
◆ VBA编程基础 ◆ 创建和设计VBA程序 ◆ VBA程序调试与运行
一、VBA编程基础知识
在执行简单的操作时,宏可以完成,如窗体的打开与关闭、工具栏的显示和隐藏等。对于稍复杂一些的任务,则可用Visual Basic for Application进行编程完成。
1.VBA的数据类型
下面对VBA中的数据类型、数据类型之间的转换、数据类型的对比进行介绍。
⑴ 数据类型
下表列出VBA中的基本数据类型。
类型名 声明符 字节 ———————————————— Byte(单字节型) 1 Integer(整型) % 2 Long(长整型) & 4 Single(单精度型) ! 4 Double(双精度型) # 8 Currency(货币型) @ 8 String(字符型) $ n*1 Boolean(布尔型) 2 Date(日期型) 8 Variant(变体型) x Object(对象型) 4 ————————————————
其中,字节、整型、长整型、单精度、双精度、货币等数据类型都属于数值数据类型,可以进行各种数学运算。字符型数据类型用来声明字符串。布尔型数据类型用来表示一个逻辑值,为真时显示True,为假时显示Flase。日期型数据类型用来表示日期,日期常量必须用#括起来,如#2001/3/26#。变体型数据类型可以存放系统定义的任何数据类型,如数值、字符串、布尔及日期等,其数据类型由最近放入的值决定。
用户可以使用Type语句定义任何数据类型。用户自定义数据类型可以包括数据类型数组,或当前定义的用户自定义类型的一种或多种元素。
语法:
[ Private | Public ] Type 类型名 元素名 As 数据类型
[ 元素名 As 数据类型 ] ?? End Type
例如:定义班级中学生的基本情况数据类型如下:
Public Type Students Name As String(8) Age As Integer End Type
声明变量:
Dim Student As Students
引用数据:
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 变量存储为 IEEE 64 位(8 个字节)浮点数值形式,其可以表示的日期范围从 100 年 1 月 1 日到 9999 年 12 月 31 日,而时间可以从 0:00:00 到 23:59:59。任何可辨认的文本日期都可以赋值给 Date 变量。日期文字须以数字符号 (#) 扩起来,例如,#January 1, 1993# 或 #1 Jan 93#。
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(双精度浮点型)变量存储为 IEEE 64 位(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 语句将每个枚举值定义成常数。