Office·Word高级·VBA基础概念语法
阅文时长 | | 5.21分钟 | 字数统计 | | 1823字符 |
『Office·Word高级·VBA基础概念语法』 | |||
编写人 | | SCscHero | 编写时间 | | Monday, June 29, 2020 |
文章类型 | | 系列 | 完成度 | | 待完善 |
座右铭 | 每一个伟大的事业,都有一个微不足道的开始。Hello World! |
常量与变量 完成度:80%
基础概念
宏方法和自定义函数
- 宏方法定义指令:
Sub [宏方法名称]()
[内容]
End Sub
- 自定义函数定义指令:
Function [自定义函数名称](参数A,...) As [返回值数据类型]
[自定义函数内容]
End Function
变量
- 使用Dim关键字声明变量,可以直接指定数据类型,也可在后面赋值中根据值类型自动赋予数据类型。
- 变量是命名的存储位置,包含在程序执行阶段修改的数据。
- 变量有变量名,在其范围内唯一。变量名必须以字符或下划线开头,不能超过255个字符,而且中间不能包含句点或类型声明字符。
- 变量若是对象,不可与方法名重复。
- 对变量赋值,可以直接赋值,若是对象,需要使用Set关键字进行赋值,并指定类型。
常量
- 使用关键字Const声明,也可以直接赋值,省略Const。
注释
- VBA中使用'符号标明注释,之后该行的代码将被编译器忽略
输出方法
- 使用模态窗口,MsgBox [变量]指令,F5运行执行方法,即可弹出
- 使用立即窗口,Debug.Print [变量]指令输出
语法
'声明常量关键字Const
Const pi = 3.1415926
'弹出模态窗口调试
MsgBox pi * 4 '消息框
'声明变量x和y,也可以使用Dim x,y批量声明
Dim x
Dim y
x = 10
y = 20
'声明一个Range数据类型的变量ran
Dim ran As Range
'弹出x+y的值
MsgBox x + y
常见数据类型
- 变量的特性,用来决定可保存何种数据。数据类型包括:
- Byte字节
- Boolean布尔型
- Integer(%)整数型
- Long(&)长整型
- Currency(@)货币型
- Single(!)单精度浮点型
- Double(#)双精度浮点型
- Object对象
常见Q&A
将变量声明为指定数据类型,好处是什么?【答】对象可有成员提示,并可以节省内存空间
条件判断语句 完成度:80%
IF
IF语句是许多编程语言中最常用的条件判断语句,语法如下:
- 单重判定的单行和多行写法
Sub 单重判定的单行和多行写法()
If 99 >= 88 Then MsgBox "恭喜": MsgBox "不恭喜"
If 99 >= 88 Then
MsgBox "恭喜"
MsgBox "不恭喜"
End If
End
End Sub
- 多重判定(块写法)
Sub 多重条件判断·块写法()
If 99 >= 88 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If
End
End Sub
- 多条件写法
Sub IF多条件写法()
Dim o As Byte
o = InputBox("请输入你的年龄")
If o >= 60 Then
MsgBox "老年"
ElseIf o > 30 Then
MsgBox "中年"
ElseIf o >= 6 Then
MsgBox "少年"
End If
End
End Sub
Select Case
Select Case语句类似于其他编程语言中的Switch,语法如下:
Sub SelectCase()
Select Case 81
'Is代替81这个值
Case Is >= 80
MsgBox "合格"
Case Else
MsgBox "不合格"
End Select
End Sub
循环语句 完成度:80%
For
For语法如下:
Sub For()
Dim icount As Integer '设置一个循环变量
'To后面的10表示icount到达10后停止循环;Step后面的2表示步长,即icount变量每次+2进行判断,步长可省略,默认为1
For icount = 1 To 10 Step 2
Next icount
End Sub```
## For Each
For Each常用于遍历集合对象,语法如下:
```basic
Sub ForEach()
'声明一个Range对象(Range对象不清楚的可以去微软官方资料查下,不懂也没关系)
Dim c As Range
For Each c In Selection.Characters
MsgBox c.Text
Next c
End Sub
Do Loop
Do Loop循环,类似于其他编程语言中的Do While,即先执行一次后在判断是否满足退出循环条件,也可以无限循环。Do Loop中有两个关键字来终止循环,Union和While,Union即当满足表达式条件,终止循环;While即当满足表达式条件,继续循环。
Sub doLoop语法()
n = 5
Do
n = n + 1
MsgBox n
Loop Until n = 10
'使用Union指令,当满足表达式条件,退出Do Loop循环
'或使用While指令,当条件成立时,循环
End Sub
如果有帮助到你,请点个赞哦。如果有什么问题,请评论,一起探讨一下。共同进步!如有什么需要与作者联系的,直接私信SCscHero即可。