15.2.1 VBA语法小结
VBA的语法大部分与VB完全相同,本章中由于篇幅所限不可能一一详细讲述,这里仅做简要介绍,使得对VB不太熟悉的读者可以有一个大致的了解。如果想详细了解VBA的语法知识,可以参考VB或者VBA的书籍或者文档资料。
1.数据类型
表15-1是VBA中的数据类型及其存储空间以及数据范围。
表15-1 VBA中的数据类型
2.运算符
VBA的算术运算符见表15-2。
字符串运算符见表15-3。
关系运算符见表15-4。
逻辑运算符见表15-5。
表15-2 VBA的算术运算符
表15-3 字符串运算符
表15-4 关系运算符
表15-5 逻辑运算符
3.程序流程控制
程序流程控制语句包括选择结构控制语句和循环结构控制语句以及其他辅助控制语句。
(1)选择结构控制语句
(2)循环结构控制语句
①For循环语句(知道循环次数的计数型循环)
②Do……Loop循环(不知道循环次数的条件型循环)
用于控制循环次数未知的循环结构,语法形式有两种:
语句块
Loop[While|Until条件]
(3)其他流程控制语句
①Go To语句
语句形式:Go To标号|行号
说明:
1)Go To语句只能转移到同一过程的标号或行号处;标号是一个字符系列,首字符必须为字母,与大小写无关,任何转移到的标号后面必须有冒号:;行号是一个数字序列;
2)以前BASIC中常用此语句,可读性差;现在要求尽量少用或不用,改用选择结构或循环结构来代替。
②Exit语句
用于退出某控制结构的执行,VB的Exit语句有多种形式,如:
Exit For(退出For循环)
Exit Do(退出Do循环)
Exit Sub(退出子过程)
Exit Function(退出函数)
③End语句
独立的End语句用于结束一个程序的执行,可以放在任何事件过程中,形式为:End VB的End语句还有多种形式,用于结束一个过程或块,如:
End If End With End Type End Select End Sub End Function
④With语句
它的作用是可以对某个对象执行一系列的语句,而不用重复指出对象的名称。但不能用一个With语句设置多个不同的对象。属性前面需要带点号“·”。语句形式如下:
With 对象名
语句块
End With
4.关键字
VB(A)中的关键字有:As,Binary,ByRef,ByVal,Date,Else,Empty,Error,False,For,Friend,Get,Input,Is,Len,Let,Lock,Me,Mid,New,Next,Nothing,Null,On,Option,Optional,ParamArray,Print,Private,Property,Public,Resume,Seek,Set,Static,Step,String,Then,Time,To,True,WithEvents。
在VB(A)中,关键字会被自动识别,所以,变量的名称一定不能与关键字同名,否则会出现意想不到的错误。
5.系统常数
VB(A)提供了一些系统常数,可以直接在程序中使用而无须声明或者预定义。颜色常数见表15-6,MsgBox函数的常数参数见表15-7,KeyCode常数(即键盘上的按键所代表的常数)见表15-8,日期常数见表15-9。
其他的系统常数这里不再一一列出,读者在实际编程时,可以查找相关的文档,或者从借助MSDN来获得帮助。
表15-6 颜色常数
表15-7 MsgBox函数的常数参数
表15-8 KeyCode常数
表15-8 日期常数
6.公共函数
VB(A)中提供了大量的公共函数,以方便的在不需要用户自主编程的情况下实现某些功能。VB(A)中常用的数学函数见表15-10。
VB(A)中常用的日期和时间函数见表15-11。
VB(A)中常用的字符串函数见表15-12。
VB(A)中常用的转换函数见表15-13。
表15-10 常用的数学函数
表15-11 日期和时间函数
表15-12 常用的字符串函数
图15-13 常用的转换函数