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即可。


作者:SCscHero,发布于:2020/06/29
原文:https://www.cnblogs.com/SCscHero/p/13210020.html