WORD2016VBA编程基础--⼿把⼿教程之⼀WORD2016 VBA编程基础--⼿把⼿教程之⼀
⽬录
1. VBA简介 (1)
1.1 VBA是什么? (1)
1.2 VBA都可以⽤来做什么呢? (2)
1.3 WORD2016 VBA增加的功能 (4)
1.4 宏和VBA的关系 (4)
1.5 VBA程序结构 (4)
1.6 VBE介绍 (5)
1.7 我们的第⼀个VBA程序 (8)
2. VBA数据类型 (9)
vba编程免费教程
2.1 VBA中的数据类型 (9)
3. VBA变量、常量 (10)
3.1变量命名要求 (10)
3.2 声明变量 (11)
3.3 声明常量 (11)
3.4 变量的作⽤域 (11)
3.5强制声明所有变量(未定义变量则提⽰,否则不提⽰) (12)
3.6 给变量赋值 (12)
4. VBA数组 (13)
4.1 ⼀维数组 (13)
4.2 多维数组: (14)
4.3 多维动态数组 (14)
4.4 其他常⽤的创建数组的⽅式 (14)
4.5 数组相关函数:UBound和LBound函数 (15)
6、数组相关函数:Join函数 (16)
5. VBA运算符 (16)
5.1 算术运算符 (16)
5.2 ⽐较运算符 (17)
5.3 连接运算符 (17)
5.4 逻辑运算符 (18)
5.5 VBA中的通配符 (18)
5.6 运算符优先级 (19)
5.7 换⾏符 (19)
6. VBA内置函数 (20)
6.1 测试函数 (20)
6.2 数学函数 (20)
6.3 字符串函数 (20)
6.4 转换函数 (21)
6.5 时间函数 (22)
7. VBA控制结构 (23)
6.Then语句 (23)
6.2 Select Case语句 (24)
6.Next语句.. (24)
6.4 Do While语句 (25)
6.5 Do Until语句 (25)
6.6 Next语句 (26)
7.7 GoTo语句 (27)
7.8 With语句 (27)
8. 过程Sub (28)
8.1 Sub定义语句 (28)
6.2 过程的参数传递 (28)
6.3 Sub间调⽤ (28)
6.4 过程的作⽤域 (30)
9.函数Function (30)
9.1 定义语法格式 (30)
9.2⽰例: (30)
10. 代码美化 (31)
11. VBE其他设置 (32)
WORD2016 VBA编程基础
1. VBA简介
Word 是⼀个⾼级的办公软件,然⽽很多⼈只是把它当做了打字软件来⽤,90%的⽤户只⽤到了WORD的10%!这些未⽤到的功能的开发很多是和VBA分不开的。
VBA使应⽤程序具有⽣命的特征,以适应不同的环境,不同的应⽤,其主要表现为定制、⾃动化、协作化。
VBA的特点是将VB语⾔与应⽤对象模型结合起来,处理各种应⽤需求。WORD VBA则是将VB应⽤于Word对象模型,或者说是⽤VB语⾔来操控这些Word对象模型,以达到各种应⽤的要求。所以,如果你想通过VBA控制Word,必须同时熟悉VB语⾔和Word对象模型。
1.1 VBA是什么?
VBA是Visual Basic for Application的缩写,通俗说就是⽤VB对程序进⾏控制,使⽤户可以⾃⾏去定义属于⾃⼰需求的软件,并把这种需求变成可能。它主要能⽤来扩展Windows应⽤程序的功能,特别是Microsoft Office软件。也可说是VBA是⼀种可以使应⽤程序视觉化的Basic 脚本。该语⾔于1993年由微软公司开发,实际上VBA是寄⽣于VB应⽤程序的版本。微软在1994年发⾏的Word5.0版本中,即具备了VBA的功能。
上⾯谈到VBA是寄⽣于VB的。那么两者有什么区别呢?
1、VB设计⽤于创建标准的应⽤程序,⽽VBA是使已⽤的应⽤程序。如WORD ⾃动化。
2、VB具有⾃⼰的开发环境,⽽VBA必须寄⽣于已⽤的应⽤程序上。
3、要运⾏VBA开发的应⽤程序,必须依赖它的⽗应⽤程序。
尽管存在这些不同,VB和VBA在结构上仍然⼗分相似,事实上,如果你已经了解了VB,会发现学习VBA⾮常快,相应的,学完VBA会给学习VB打下坚实的基础。
综上,VBA就是可以使现有的应⽤程序实现⾃动化的⼿段,并可以通过⾃定义的⽅法创建你需要的解决问题的⽅案。
1.2 VBA都可以⽤来做什么呢?
也不⽤再讲更多的⾼⼤上的条条框框,对于职场中的你我,主要可以实现如下的作⽤:
1、⾃动实现批量复杂的⽂档进⾏查替换、增、删、改、插我把这个阶段作为VBA的初级阶段。
例如,你可以⽤VBA控制word新建⼀个⽂档,修改内容,修饰样式,然后再保存起来。⼀切都是⾃动完成,⼀切都是瞬间完成。
也许你不觉得这⼜什么⽤,想想看,假如你处理上百、上千个类似的word⽂档是什么感觉。
下⾯还是以⼀个批量查替换的程序为例:下⾯的程序实现了在⼀个⽂档中⾃动批量查替换⼯作。
Sub qjzhbj()
'字母数字符号全⾓转半⾓ Macro
Dim qjzf, bjzf As String, iii As Integer '定义qjsz(全⾓数字)、bjsz(半⾓数字)为字符串型,iii为整数型
qjzf = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,/<>?;’:{}\|=-+_)(*%$#@!~"
bjzf = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU VWXYZ,/《》?;':{}\|=-+_)(×%$#@!~"
Selection.WholeStory '全选⽂档
For iii = 1 To 88 '循环88次,对全⾓数组循环⼀遍
With Selection.Find
.Text = Mid(qjzf, iii, 1) 'mid函数:返回⽂本字符串中从指定位置开始的特定数⽬的字符,每次取⼀个数字
.Replacement.Text = Mid(bjzf, iii, 1) '将⽤于替换的相应位置的半⾓数字
.Format = False '保留替换前的字符格式
.MatchWildcards = False
.Execute Replace:=wdReplaceAll '⽤半⾓符号替换全⾓符号
End With
Next iii
End Sub
2、⾃动实现批量复杂的⽂档排版以及事件调⽤、创建模板等复杂操作。这是VBA的中级阶段。
3、制作窗体实现交互⼈机的对话。这个才是VBA的⾼级阶段。
这个阶段是建⽴在1,2基础上的,其实,VBA的窗体设计不是很完美,不如VB,我建议⼤家可以把WORD VBA作为⼀个开发的平台来对待,这种思路更能体现VBA的价值。
1.3 WORD2016 VBA增加的功能
1.4 宏和VBA的关系
vba是编程语⾔,宏是⽤vba代码保存下来的程序。录制的宏是vba⾥最简单的程序,正因为如此,录制宏存在许多缺陷:如⽆法进⾏判断和循环,不能显⽰⽤户窗体,不能进⾏⼈机交互……
解决录制宏的这些问题,需要掌握VBA编程的⽅法,⾃主的编写VBA程序。
1.5 VBA程序结构
1、代码:VBA程序由代码组成。
2、过程:例如Sub过程、Function过程
3、模块:保存过程的地⽅,⼀个模块可以保存多个不同类型的过程
4、对象:⽤代码操作或控制的东西即为对象,对象代表⼀个 Word 元素,
如⽂档、段落、书签或单独的字符。集合也是⼀个对象,该对象包含多个其他对象,通常这些对象属于相同的类型;例如,⼀个集合对象中可包含⽂档中的所有书签对象。通过使⽤属性和⽅法,可以修改单独的的对象,也可修改整个的对象集合
5、对象的属性:每个对象都有属性,属性是对象包含的内容或特点,是该
对象⾏为的⼀个⽅⾯。例如,⽂档属性包含其名称、内容、保存状态以及是否启⽤修订。
6、对象的⽅法:⽅法是指在对象上执⾏的某个动作。例如,只要⽂档可以打印,Document 对象就具有 PrintOut ⽅法。⽅法通常带有参数,以限定执⾏动作的⽅式。下列⽰例打印活动⽂档的前三页。
Sub PrintThreePages()
ActiveDocument.PrintOut
Range:=wdPrintRangeOfPages, Pages:="1-3"
End Sub
在⼤多数情况下,⽅法是动作,⽽属性是性质。使⽤⽅法将导致发⽣对象的某些事件(所以,有⼈说:“⽅法是集成了的事件”),⽽使⽤属性则会返回对象的信息,或引起对象的某个性质的改变。
7、关键字:关键字是VBA中的保留字或符号,例如语句名称、函数名称、
运算符等都是关键字。
1.6 VBE介绍
VBE即Visual Basic Editor的缩写,即VBA的编程环境。
1、打开VBE编辑器的⽅法
快捷键:Alt+F11或依次点击:(2016版本)开发⼯具→Visual Basic编辑器。如图1.6-1所⽰。
2、打开的VBE 编辑器的界⾯,如图1.6-2所⽰,VBE 主窗⼝:包含“⼯程资源管理器”、“属性窗⼝”、“菜单栏”、“⼯具栏”、“代码窗⼝”
3、菜单栏:包含VBE 中各种组件的命令
4、⼯具栏:可以在“视图”→“⼯具栏”菜单⾥显⽰或隐藏
点击这⾥打开VBE
菜单栏
⼯具栏资源管理器
属性窗⼝
代码窗⼝
6、属性窗⼝:我们可以对⾃⼰要⽤到的对像的属性进⾏设置,在以后的实
代码编辑区
过程列表框
对象列表框
视图按钮
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论