VBA教程
VBScript教程
数据类型
数字数据类型
非数字数据类型
变量&常量
可以通过Dim、Public或Private语句声明变量。
变量语法:Dim <<variable_name>> As <<variable_type>>
(需要在使用它们之前声明)
常量语法:Const <<constant_name>> As <<constant_type>> = <<constant_value>>
(在VBA中,需要为声明的常量赋值。如果试图改变常量的值,就会抛出一个错误。)
变量/常量命名规则:
- 变量/常量名称必须使用一个字母作为第一个字符。
- 变量/常量名称不能使用空格,句点(.),感叹号(!)或字符@,&,$,#。
- 变量/常量名称的长度不能超过255个字符。
- 不能使用Visual Basic保留关键字作为变量/常量名称。
运算符
VBA支持以下类型的运算符:
- 算术运算符
- 比较运算符
- 逻辑(或关系)运算符
- 连接运算符
运算符 | 描述 |
---|---|
算术操作符 | |
+ | 两个操作数相加 |
- | 两个操作数相减 |
* | 两个操作数相乘 |
/ | 两个操作数相除 |
% | 模运算符,整数除法后的余数 |
^ | 指数运算符 |
比较运算符 | |
= | 检查两个操作数的值是否相等。如果是,那么条件是真。 |
<> | 检查两个操作数的值是否不相等。如果值不相等,则条件为真。 |
> | 检查左操作数的值是否大于右操作数的值。如果是,那么条件是真。 |
< | 检查左操作数的值是否小于右操作数的值。如果是,那么条件是真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值。 如果是,那么条件是真。 |
<= | 检查左操作数的值是否小于或等于右操作数的值。如果是,那么条件是真。 |
逻辑运算符 | |
AND | 逻辑AND运算符。如果两个条件都为真,则表达式为真。 |
OR | 逻辑OR运算符。如果两个条件中的任何一个为真,则条件为真。 |
NOT | 逻辑NOT运算符。用于反转其操作数的逻辑状态。 如果条件成立,那么逻辑非运算符结果是条件不成立。 |
XOR | 逻辑排除。它是NOT和OR运算符的组合。如果表达式中只有一个表达式的值为True,则结果为True。 |
连接操作符 | |
+ | 将两个值添加为变量,其值是数字 |
& | 连接两个值 |
注:连接操作,可用于数字和字符串。输出取决于上下文,如果变量保存数字值或字符串值。
注释
VBA中的注释用两种方法表示,它们分别如下:
- 任何以单引号(')开头的语句都被视为注释。以下是注释的一个例子。
' This Script is invoked after successful login
' Written by : Yiibai Yiibai
' Return Value : True / False
- 任何以关键字"REM"开头的语句。以下是注释的一个例子。
REM This Script is written to Validate the Entered Input
REM Modified by : Yiibai Yiibai /user2
消息框(MsgBox)
MsgBox函数显示一个消息框,并等待用户点击一个按钮,然后根据用户点击的按钮执行相关的操作。
语法:MsgBox(prompt[,buttons][,title][,helpfile,context])
参数说明:
- prompt - 必需的参数。在对话框中显示为消息的字符串。提示的最大长度大约为1024个字符。 如果消息扩展为多行,则可以使用每行之间的回车符(Chr(13))或换行符(Chr(10))来分隔行。
- buttons - 可选参数。一个数字表达式,指定要显示的按钮的类型,要使用的图标样式,默认按钮的标识以及消息框的形式。如果留空,则按钮的默认值为0。
- title - 可选参数。 显示在对话框的标题栏中的字符串表达式。 如果标题留空,应用程序名称将被放置在标题栏中。
- helpfile - 可选参数。一个字符串表达式,标识用于为对话框提供上下文相关帮助的帮助文件。
- Context - 可选参数。一个数字表达式,用于标识由帮助作者分配给相应帮助主题的帮助上下文编号。 如果提供上下文,则还必须提供helpfile。
【Buttons参数】的含义说明如下:
上述值在逻辑上分为四组:第一组 (0至5) 指示要在消息框中显示的按钮。第二组 (16,32,48,64) 描述要显示的图标的样式,第三组 (0,256,512,768) 指示哪个按钮必须是默认的,第四组 (0,4096) 确定消息框的形式。
【返回值】的含义说明如下:
常数 | 值 | 描述 |
---|---|---|
vbOK | 1 | 单击了“确定”按钮 |
vbCancel | 2 | 单击了“取消”按钮 |
vbAbort | 3 | 单击了“终止”按钮 |
vbRetry | 4 | 单击了“重试”按钮 |
vbIgnore | 5 | 单击了“忽略”按钮 |
vbYes | 6 | 单击了“是”按钮 |
vbNo | 7 | 单击了“否”按钮 |
VBA输入框(InputBox)
InputBox函数提示用户输入值。当输入值后,如果用户单击确定 按钮或按下键盘上的ENTER 键,InputBox函数将返回文本框中的文本。如果用户单击“取消” 按钮,该函数将返回一个空字符串(“”)。
语法:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
参数说明:
- Prompt - 必需的参数。 在对话框中显示为消息的字符串。提示的最大长度大约为1024个字符。 如果消息扩展为多行,则可以使用每行之间的回车符(Chr(13))或换行符(Chr(10))来分隔行。
- title - 一个可选参数。显示在对话框的标题栏中的字符串表达式。如果标题留空,应用程序名称将被放置在标题栏中。
- default - 一个可选参数。用户希望显示的文本框中的默认文本。
- xpos - 一个可选参数。X轴的位置表示水平从屏幕左侧的提示距离。 如果留空,则输入框水平居中。
- ypos - 一个可选参数。Y轴的位置表示竖直方向从屏幕左侧的提示距离。如果留空,则输入框垂直居中。
- helpfile - 一个可选参数。一个字符串表达式,标识用于为对话框提供上下文相关帮助的帮助文件。
- context - 一个可选参数。一个数字表达式,用于标识由帮助作者分配给相应帮助主题的帮助上下文编号。如果提供上下文,则还必须提供helpfile。
VBA决策&VBA循环
VBA提供了以下类型的决策声明:
VBA提供以下类型的循环来处理循环需求:
VBA字符串
字符串函数:
VBA日期时间函数
日期函数:
时间函数:
VBA数组
数组声明的方式与声明变量相同,只是数组变量的声明使用括号。
在VBA中,使用Dim语句声明数组。
- 方法一:定义的时候就指定了数组的元素个数
Dim arr1(5)
arr1(5)表示一个一维数组,它有6个元素。 - 方法二:先定义再赋值
Dim arr3
arr3 = Array("apple","Orange","Grapes")
VBA默认数组下标索引值以0为基数。如果想要声明的数组下标以1为基数,那么应该在模块开头放置下面的语句:Option Base 1
数组不仅限于一个维度,但它们最多可以有60个维度。 二维数组是最常用的数组。
一个多维数组被声明为3行4列:Dim arr(2,3)
数组方法:
子程序和函数程序
子程序:
- 是一系列的语句,被封装在 Sub 和 End Sub 语句内
- 可执行某些操作,但不会返回值
- 可带有参数
Sub mysub()
some statements
End Sub
或者
Sub mysub(argument1,argument2)
some statements
End Sub
函数程序:
- 是一系列的语句,被封装在Function和End Function语句内
- 可执行某些操作,并会返回值
- 可带有通过程序调用来向其传递的参数。
- 如果没有参数,必须带有空的圆括号 ()
- 通过向函数程序名赋值的方式,可使其返回值
Function myfunction()
some statements
myfunction=some value
End Function
或者
Function myfunction(argument1,argument2)
some statements
myfunction=some value
End Function
当调用程序时,可以使用 Call 语句:Call MyProc(argument)
或者,可以省略 Call 语句:MyProc argument
窗体
窗体的主要属性:
属值名 | 属性值 | 说明 |
---|---|---|
Name | 字符串 | 用于设置窗体的名称,中英文均可,默认名称为Forml |
Caption | 字符串 | 用于设置窗体标题栏中显示的文本,默认标题为Forml |
Height | 数值 | 用于指定窗体的高度 |
Width | 数值 | 用于指定窗体的宽度 |
Left | 数值 | 用于确定窗体左上角的坐标位置,即窗体左上角离屏幕左边的距离 |
Top | 数值 | 用于确定窗体左上角的坐标位置,即窗体左上角离屏幕顶边的距离 |
Enabled | 逻辑值 | 用于决定是否允许操作窗体,True:允许;False:禁止 |
Visible | 逻辑值 | 用于决定程序运行时窗体是否可见,True:可见;False:不可见 |
FontName | 字符串 | 用于设置窗体或对象上文本的字体 |
FontSize | 整数 | 用于设置窗体或对象上文本字体的大小,单位为磅,范围1~2160 |
FontBold | 逻辑值 | 该属性值为True时用于设置窗体或对象上显示的文本为粗体 |
Fontltalic | 逻辑值 | 该属性值为True时用于设置窗体或对象上显示的文本为斜体 |
FontStriket | 逻辑值 | 该属性值为True时用于给窗体或对象上显示的文本加一删除线 |
FontUnderline | 逻辑值 | 该属性值为True时用于给窗体或对象上显示的文本加一下划线 |
MaxButton | 逻辑值 | 用于设置窗体右上角的最大化按钮,True:有;False:无 |
MinButton | 逻辑值 | 用于设置窗体右上角的最小化按钮,True:有;False:无 |
ControlBox | 逻辑值 | 用于设置窗口控制框的状态,True:有;False:无 |
lcon | 用于设置窗体最小化时的图标 | |
ForeColor | 整数 | 用于设置窗体或对象的前景颜色 |
BackColor | 整数 | 用于设置窗体或对象的背景颜色 |
Picture | 字符串 | 用于设置窗体中要显示的图片 |
标签
标签(label)主要用于显示一小段文本信息,通常用来标注本身不具有Caption属性的控件,如利用标签给文本框控件附加描述信息等。标签控件的内容只能用Caption属性进行设置或修改,不能直接编辑。
标签的主要属性:
属性名 | 属性值 | 说明 |
---|---|---|
Caption | 字符串 | 显示在标签上的正文(标题) |
Alignment | 0 | 显示的标题靠左 |
Alignment | 1 | 显示的标题靠右 |
Alignment | 2 | 显示的标题居中 |
Autosize | True | 根据显示的标题自动调整大小 |
Autosize | False | 保持设计时的大小 |
BorderStyle | 0 | 标签无边框 |
BorderStyle | 1 | 标签有边框(单边框) |
BackStyle | 0 | 标签覆盖背景 |
BackStyle | 1 | 标签透明 |
文本框
文本框(TextBox)为用户提供了一个编辑文本的区域,在此区域中既能够显示又能够编辑文本信息。
标签的常用属性:
属性名 | 属性值 | 说明 |
---|---|---|
Text | 字符串 | 文本框中显示的文本内容 |
MaxLength | 数值 | 用来设置文本框中允许输入的最大字符数。默认值为0,表示没有字符数的限制;如果为非零,此值即为允许输入的最大字符数 |
MultiLine | True | 允许在文本框中输入多行文字 |
MultiLine | False | 文本框中只能输入一行文字 |
PasswordChar | 字符串 | 设置口令输入。默认值为空,此时输入的字母按原样显示在文本框中;若为非空字符,则输入字符用该非空字符显示在文本框中 |
Locked | True | 文本框中的文字内容不可编辑 |
Locked | False | 文本框中的文字内容可以编辑 |
ScrollBars | 0(默认) | 文本框没有滚动条 |
ScrollBars | 1 | 文本框只有水平滚动条 |
ScrollBars | 2 | 文本框只有垂直滚动条 |
ScrollBars | 3 | 文本框同时拥有水平和垂直滚动条 |
SelLength | 数值 | 文本框中当前选中的字符个数。该属性只能在程序中进行设置和返回 |
SelStart | 数值 | 文本框中当前选中的字符中第一个字符的位置。第一个字符的位置为0,该属性只能在程序中进行设置和返回 |
SelText | 字符串 | 文本框中当前选中的文字内容。该属性只能在程序中进行设置和返回 |
命令按钮
命令按钮(Command Button)是Visual Basic 6.0应用程序中最常用的控件,用户可以通过单击命令按钮执行一些操作。主要用于启动或中断一个处理过程。
属性名 | 属性值 | 说明 |
---|---|---|
Caption | 字符串 | 在按钮上显示的标题信息 |
Cancel | 逻辑值 | 该属性被设为True时,按键盘上的Esc键与单击该按钮作用相同。在一个窗体中,只允许有一个命令按钮的Cance1属性设为True |
Default | 逻辑值 | 该属性被设为True时,按回车键与单击该按钮作用相同。在一个窗体中,只允许有一个命令按钮的Default属性设为True |
Picture | 数值 | Style属性为1,则Picture属性可显示图形文件 |
Style | 0 | 按钮上不可显示图形 |
Style | 1 | 按钮上可显示图形,也可以显示文字 |
ToolTipText | 字符串 | 设置当鼠标在控件上暂停时显示的文本 |
Value | 逻辑值 | True 表示已选择该按钮;False(缺省值)表示没有选择该按钮。如果在代码中设置Value属性值为True激活该按钮的Click事件。该属性在设计时不可用。 |