本书提供了最快、最简便的方法学习使用VBA,以便自定义和增强Office软件以及许多可使用VBA的软件的功能。本书不仅提供了VBA宿主软件的一般技巧,而且涉及了在Word、Excel、PowerPoint、Access以及Outlook中的应用。本书针对Office 2003软件,也适用于Office XP以及Office 2000。
什么是VBA用VBA可以做什么,在Office软件中使用录制宏,编辑宏的功能,使用Visual Basic编辑器生成和编辑代码,找出程序中需要的对象、属性和方法,,使用变量、常量和数组存储和操作数据,创建确定和不确定的循环,,用条件选择不同的决策,用信息框、输入框以及内置对话框进行交互,生成自定义对话框并对控件编程,创建清晰、易维护的模块,测试、调试以及完善程序,用数字证书和安全特性保证代码安全。
一、VBA 语言基础 ............................. 1
第一节 标识符 .. .. .. 1
第二节 运算符 .. .. .. 1
第三节 数据类型 .. 1
第四节 变量与常量 .. ........................... 1
第五节 数组 .. .. ..... 2
第六节 注释和赋值语句 .. .................... 2
第七节 书写规范 .. 2
第八节 判断语句 .. 2
第九节 循环语句 .. 3
第十节 其他类语句和错误语句处理 .. .. 4
第十一节 过程和函数 .. ....................... 4
一.Sub 过程.. .. . 4
二.Function 函数 .. ......................... 5
三.Property 属性过程和 Event 事件过程 .. ....................... 5
第十二节内部函数 .. ............................ 5
一.测试函数 .. .. 5
二.数学函数 .. .. 5
三.字符串函数 .. ............................ 6
四.转换函数 .. .. 6
五.时间函数 .. .. 6
第十三节 文件操作 .. ........................... 6
文件 .. .. .............. 6
删除 .. .. .............. 7
打开 .. .. .............. 7
读入 .. .. .............. 7
写入 .. .. .............. 7
关闭 .. .. .............. 7
其他文件函数 .. .. 7
二、VISUAL BASIC 程序设计网络教学.......................... 1
第一课 VBA 是什么 ........................... 1
1.1 VBA 是什么.. .. . 1
1.2 EXCEL 环境中基于应用程序自动化的优点.. ................... 1
1.3 录制简单的宏.. 2
1.4 执行宏 .. .. ........ 2
1.5 查看录制的代码 .. .......................... 2
1.6 编辑录制的代码 .. .......................... 3
1.7 录制宏的局限性 .. .......................... 4
1.8 小结.. .. ............ 4
第二课 处理录制的宏........................... 4
2.1 为宏指定快捷键 .. .......................... 4
2.2 决定宏保存的位置.. .. ....................... 5
2.3 个人宏工作簿.. 5
2.3.1 保存宏到个人宏工作簿 .. ......... 5
2.3.2 使用并编辑个人宏工作簿中的宏 .. ........................... 5
2.4 将宏指定给按钮 .. .......................... 6
2.5 将宏指定给图片或其他对象.. .. ......... 6
2.6 小结.. .. ............ 7
第三课 学习控件..... 7
3.1 EXCEL 开发过程简介 .. .................. 7
3.2 认识不同的控件 .. .......................... 7
3.3 向工作表添加控件.. .. ....................... 7
3.4 设置控件的特性 .. .......................... 8
3.5 给控件命名 .. .. . 8
3.6 使用用户窗体.. 8
3.7 疑难解答.. .. ..... 9
第四课 理解变量和变量的作用........... 9
4.1 代码存在的位置:模块.. .. ................ 9
4.2 对模块的概览.. .. ............................ 10
4.2.1 创建过程 .. ............................ 10
4.2.2 运行宏.. .. 11
4.3 保存对模块所做的改变.. .. .............. 11
4.4 变量.. .. .......... 11
4.4.1 变量的数据类型.. .. .................. 11
4.4.2 用 Dim 语句创建变量(声明变量) .. ......................... 13
4.4.3 变量命名的惯例.. .. .................. 13
4.4.4 使用数组 .. ............................ 14
4.4.5 变量赋值 .. ............................ 15
第五课 利用 VBA 设置工作表使用权限 ...................... 15
1.使用 WITH 语句。 .. ...................... 17
2.使用对象变量。.. .. ......................... 17
方法 3:减少对象的激活和选择 .. ...... 17
方法 4:关闭屏幕更新 .. .................... 18
第六课 提高 EXCEL 中 VBA 的效率 .......................... 19
方法 1:尽量使用 VBA 原有的属性、方法和 WORKSHEET 函数 ........................ 19
方法 2:尽量减少使用对象引用,尤其在循环中.. .............. 19
1.使用 With 语句。 .. .................... 19
2.使用对象变量。 .. ..................... 20
3.在循环中要尽量减少对象的访问。 .. ......................... 20
方法 3:减少对象的激活和选择 .. ...... 20
方法 4:关闭屏幕更新 .. .................... 20
第七课 如何在 EXCEL 里使用定时器 ......................... 20
三、学习微软 EXCEL 2002 VBA 编程和 XML,ASP 技术 .................. 22
第一章 电子表格自动化简介和了解宏命令................... 22
1 了解宏 .. .. ......... 22
2 宏命令的普通应用.. .. ........................ 22
3 写宏之前的计划 .. ........................... 23
4 录制宏 .. .. ......... 24
5 运行宏 .. .. ......... 26
6 修改宏代码 .. .. .. 26
7 添加注释.. .. ...... 29
8 分析宏代码 .. .. .. 29
9 清除宏代码 .. .. .. 30
10 测试修改好的宏 .. ......................... 31
11 两个层面运行宏的方法 .. ............... 32
12 完善你的宏代码 .. ......................... 32
13 重新命名宏 .. .. 34
14 运行宏的其它方法 .. ...................... 34
15 使用键盘快捷键运行宏 .. ............... 34
16 通过菜单运行宏 .. ......................... 35
17 通过工具栏按钮运行宏 .. ............... 37
18 通过工作表里面的按钮运行宏 .. .... 38
19 保存宏 .. .. ....... 39
20 打印宏 .. .. ....... 39
21 保存宏在个人宏工作簿 .. ............... 40
22 打开含有宏的工作簿 .. .................. 41
23VB 编辑窗口 .. . 42
24 了解工程浏览窗口 .. ...................... 42
25 了解属性窗口 .. ............................. 43
26 了解代码窗口 .. ............................. 44
27 VB 编辑器里的其它窗口 .. ............. 45
28 接下来…… .. .. 46
第二章 VBA 第一步........................... 46
1 了解指令,模块和过程.. .. ................. 46
2 VBA 工程命名.. 46
3 模块重命名 .. .. .. 47
4 从其它工程调用过程 .. .................... 48
5 了解对象,属性和方法.. .. ................. 49
6 学习对象,属性和方法.. .. ................. 50
7 句法和文法 .. .. .. 52
8 打断很长的 VBA 语句 .. .................. 54
9 了解 VBA 错误.. .. ............................. 54
10 查找帮助 .. .. .... 56
11 语法和编程快捷助手.. .. ................... 57
12 属性/方法列表 .. ............................ 58
13 常数列表 .. .. .... 58
14 参数信息 .. .. .... 59
15 快速信息 .. .. .... 59
16 自动完成关键字 .. ......................... 59
17 缩进/凸出 .. .. ... 60
18 设置注释块/解除注释块 .. .............. 60
19 使用对象浏览器 .. ......................... 60
20 使用 VBA 对象库 .. ....................... 65
21 用对象浏览器来定位过程 .. ........... 66
22 使用立即窗口 .. ............................. 66
23 获取立即窗口里的信息 .. ............... 68
24 学习对象 .. .. .... 69
25 电子表格单元格操作 .. .................. 69
26 使用 RANGE 属性 .. ........................ 69
27 使用 CELLS 属性 .. ......................... 69
28 使用 OFFSET 属性.. .. ........................ 70
29 选择单元格的其它方法 .. ............... 71
30 选择行和列 .. .. 71
31 获取工作表信息 .. ......................... 72
32 往工作表输入数据 .. ...................... 72
33 返回工作表中的信息 .. .................. 72
34 单元格格式 .. .. 72
35 移动,复制和删除单元格 .. ........... 73
36 操作工作簿和工作表 .. .................. 74
37 操作窗口(WINDOWS ) .. .............. 74
38 管理 EXCEL 应用程序 .. .................. 75
39 接下来„„ .. .. 75
第三章 了解变量,数据类型和常量. 76
1 保存 VBA 语句的结果 .. .................. 76
2 变量是什么 .. .. .. 76
3 数据类型.. .. ...... 76
4 如何产生变量.. . 77
5 如何声明变量.. . 78
6 明确变量的数据类型 .. .................... 79
7 变量赋值.. .. ...... 80
8 强制声明变量.. . 82
9 了解变量范围.. . 83
10 过程级别(当地)变量 .. ............... 83
11 模块级别变量 .. ............................. 84
12 工程级别变量 .. ............................. 85
13 变量的存活期 .. ............................. 85
14 了解和使用静态变量 .. .................. 85
15 声明和使用对象变量 .. .................. 86
16 使用明确的对象变量 .. .................. 87
17 查找变量定义 .. ............................. 87
18 在 VB 过程里面使用常量 .. ............ 87
19 内置常量 .. .. .... 88
20 接下来„„ .. .. 89
第四章 VBA 过程:子程序和函数 . 89
1.关于函数过程.. . 89
2.创建函数过程.. . 89
3.执行函数过程.. . 91
4.从工作表里运行函数过程 .. ............. 91
5.从另外一个 VBA 过程里运行函数过程.. .......................... 93
6.传递参数.. .. ...... 93
7.明确参数类型.. . 94
8.按地址和按值传递参数.. .. ................. 95
9.使用可选的参数 .. ........................... 96
10.定位内置函数 .. ............................. 97
11.使用 MSGBOX 函数 .. ..................... 98
12.MSGBOX 函数的运行值 .. ............. 101
13.使用 INPUT B OX 函数 .. ................. 102
14.数据类型转变 .. ........................... 103
15.使用 INPUT B OX 方法 .. ................. 104
16.使用主过程和子过程 .. ................ 107
17.接下来„„ .. 109
第五章 基于 VBA 做决定 .............. 109
1.关系和逻辑运算符.. .. ...................... 109
2.IF…THEN 语句 .. ............................ 110
3.基于多于一个条件的决定 .. ........... 112
4.THE IF…THEN…ELSE 语句.. .. ........... 113
5.IF…THEN…ELSEIF 语句 .. .............. 116
6.嵌套的 IF…THEN 语句 .. ................ 117
7.SELECT CASE 语句 .. ....................... 118
8.和 CASE 子句一起使用 IS .. ............ 119
9.确定 CASE 子句里数值的范围 .. ..... 120
10.在 CASE 子句里确定多个表达式 .. 121
11.接下来… .. .. .. 121
第六章 在 VBA 中重复操作 .......... 121
1.DO LOOPS: DO…WHILE 和 DO…UNTIL .. ......................... 121
2.观察过程执行.. .. ............................. 124
3.WHILE…WEND 循环.. .. .................... 125
4.FOR…NEXT 循环 .. ........................ 126
5.FOR EACH…NEXT 循环 .. ................ 127
7.提前跳出循环.. .. ............................. 128
8.循环嵌套.. .. .... 129
9.接下来….. .. .... 129
第七章 利用 VBA 数组管理数据清单和表格 ............ 129
1.了解数组.. .. .... 130
2.声明数组.. .. .... 131
3.数组的上界和下界.. .. ...................... 131
4.在 VBA 过程里使用数组.. .. ............. 131
5.数组和循环语句 .. ......................... 132
6.使用二维数组.. .. ............................. 134
7.静态和动态数组 .. ......................... 135
8.数组函数.. .. .... 137
9.A RRAY 函数 .. .. 137
10.ISARRAY 函数 .. ........................... 137
11.ERASE 函数 .. . 138
12.LBOUND 函数和 UB OUND 函数 .. .. 139
13.数组中的错误 .. ........................... 139
14.数组作为参数 .. ........................... 141
15.接下来… .. .. .. 141
第八章 利用 VBA 操纵文件和文件夹 ........................ 141
1.获取当前文件夹的名称(CURDIR 函数) .. .................... 142
2.更改文件或文件夹名称(NAME 函数) .. ....................... 142
3.检查文件或文件夹是否存在(DIR 函数).. .................... 143
4.获得文件修改的日期和时间(FILEDATETIME 函数).. .... 144
5.获得文件大小(FILELEN 函数) .. .. 145
6.返回和设置文件属性(GETA TTR 函数和 SETA TTR 函数) ............................. 145
7.更改缺省文件夹或驱动器(CHDIR 语句和 CHDRI VE 语句) ......................... 146
8.创建和删除文件夹(MKDIR 语句和 RMDIR 语句) .. ...... 147
9.复制文件(FILECOPY 语句).. .. ....... 147
10.删除文件(K ILL 语句) .. ............ 149
11.从文件读取和写入数据(INPUT /OUTPUT ) .. ................. 149
12.文件访问类型 .. ........................... 149
13.使用顺序文件 .. ........................... 150
14.读取储存于顺序文件里的数据 .. .. 150
15.逐行读取文件 .. ........................... 150
16.从顺序文件中读取字符 .. ............. 151
17.读取分隔文本文件 .. .................... 152
18.往顺序文件里写数据 .. ................ 153
19.使用 WRITE # 和 PRINT # 语句 .. ... 154
20.操作随机文件 .. ........................... 155
21.创建用户定义的数据类型 .. ......... 155
22.操作二进制文件 .. ....................... 158
23.操作文件和文件夹的时髦方法 .. .. 159
24.使用 WSH 获取文件信息 .. .......... 162
25.FILESYSTEMOBJEC 的方法和属性 . 163
26.对象 FIL E 的属性.. .. ....................... 166
27.文件夹对象属性 .. ....................... 167
28.驱动器对象属性 .. ....................... 167
29.使用 WSH 创建文本文件 .. .......... 168
30.使用 WSH 进行其它操作 .. .......... 170
31.运行其它应用程序 .. .................... 170
32.创建快捷方式 .. ........................... 171
33.接下来„„ .. 172
第九章 利用 VBA 控制其它应用程序 ........................ 172
1.启动应用程序.. .. ............................. 172
2.在应用程序之间切换 .. .................. 175
3.控制其它应用程序.. .. ...................... 175
4.控制应用程序的其它方法 .. ........... 177
5.了解自动控制.. .. ............................. 177
6.了解链接和嵌入 .. ......................... 178
7.使用 VBA 进行链接和嵌入 .. ......... 179
8.COM 和自动控制 .. ....................... 180
9.了解绑定.. .. .... 180
10.后期绑定 .. .. .. 180
11.早期绑定 .. .. .. 180
12.建立到对象库的引用 .. ................ 181
13.创建自动控制对象 .. .................... 182
14.使用 CREATEOBJECT 函数 .. .......... 182
15.使用自动控制创建一个新的 WORD 文档 .. .................... 183
16.使用 GET OBJECT 函数.. .. ................ 183
17.打开存在的 WORD 文档.. .. ............. 184
18.使用关键字 NEW.. .. ....................... 185
19.使用自动控制访问 MICROSOFT OUTLOOK .. ................... 186
20.接下来„„ .. 187
第十章 对话框和自定义窗体........... 187
1.文件打开和另存为对话框 .. ........... 190
2.GET OPENFILENAME 和 GET SAVE AS FILENAME 方法 .. ........ 194
3.创建窗体.. .. .... 195
4.创建用户窗体的工具 .. .................. 197
5.标签.. .. ........... 198
6.文字框 .. .. ....... 198
7.框架.. .. ........... 198
8.选项按钮.. .. .... 199
9.复选框 .. .. ....... 199
10.切换按钮 .. .. .. 199
11.列表框.. .. ...... 199
12.复合框 .. .. ..... 199
13.滚动条 .. .. ..... 199
14.旋转按钮 .. .. .. 199
15.图像 .. .. ......... 199
16.多页控件 .. .. .. 200
17.TABSTRIP 控件 .. .......................... 200
18.REFEDIT 控件 .. ............................ 200
19.在窗体上放置控件 .. .................... 200
20.应用程序示例 1:信息调查 .. ....... 200
21.在窗体上添加按钮、选项框和其它控件 .. .................... 202
22.更改控件名称 .. ........................... 204
23.设置其它控件属性 .. .................... 204
24.准备工作表以储存窗体数据 .. ...... 205
25.显示自定义窗体 .. ....................... 206
26.设置 TAB 顺序.. .. ........................... 206
27.了解窗体和控件事件 .. ................ 207
28.编写 VBA 过程对窗体和控件事件反应 .. ...................... 209
29.编写过程来初始化窗体 .. ............. 209
30.编写过程填充列表框控件 .. ......... 211
31.编写过程控制选项按钮 .. ............. 211
32.编写过程同步文字框和旋转按钮 . 212
33.编写过程关闭用户窗体 .. ............. 212
34.转移窗体数据到工作表 .. ............. 213
35.使用 INFO SURVEY 应用程序 .. ...... 214
36.应用程序示例 2:学生和考试 .. ... 214
37.使用多页和 TABSTRIP 控件 .. ........ 214
38.给窗体 STUDENTS AND EXAMS 自定义窗体编写 VBA 过程.. ........................... 216
39.使用自定义窗体 STUDENTS AND EXAMS .. ...................... 221
40.接下来„„ .. 223
第十一章 自定义集合和类模块....... 223
1.使用集合.. .. .... 224
2.声明自定义集合 .. ......................... 225
3.给自定义集合添加对象.. .. ............... 225
4.从自定义集合移出对象.. .. ............... 226
5.创建自定义对象 .. ......................... 227
6.创建类 .. .. ....... 227
7.变量声明.. .. .... 227
8.定义类的属性.. .. ............................. 228
9.创建 PROPERTY GET 过程 .. ............. 228
10.创建 PROPERTY LET 过程.. .. ............ 229
11.创建类方法.. . 230
12.创建类的示例 .. ........................... 230
13.类模块里的事件过程 .. ................ 230
14.创建用户界面 .. ........................... 231
15.观察 VBA 过程的执行 .. .............. 240
16.接下来„„ .. 243
第十二章 使用 VBA 创建自定义菜单和工具栏 ........ 243
1.工具栏 .. .. ....... 243
2.创建自定义工具栏.. .. ...................... 245
3.删除自定义工具栏.. .. ...................... 247
4.使用 COMMAND B AR 的属性 .. ......... 247
5.使用 COMMAND B AR 控件 .. ............ 247
6.理解和使用控件属性 .. .................. 249
7.控件方法.. .. .... 251
8.使用菜单.. .. .... 252
9.菜单编程.. .. .... 254
10.创建子菜单 .. 256
11.修改内置快捷菜单 .. .................... 258
12.创建快捷菜单 .. ........................... 260
13.接下来„„ .. 262
第十三章 调试 VBA 过程和处理错误 ........................ 262
1.测试 VBA 过程.. .. ........................... 262
2.终止过程.. .. .... 263
3.使用断点.. .. .... 264
4.在中断模式下使用立即窗口.. .. ........ 267
5.使用 STOP 语句 .. ........................... 269
6.添加监视表达式 .. ......................... 269
7.清除监视表达式 .. ......................... 272
8.使用快速监视.. .. ............................. 272
9.使用本地窗口和调用堆栈对话框.. .. . 273
10.逐句运行 VBA 过程 .. .................. 274
11.逐句运行过程 .. ........................... 275
12.逐过程执行过程 .. ....................... 275
13.设置下一条语句 .. ....................... 276
14.显示下一条语句 .. ....................... 277
15.终止和重新设置 VBA 过程 .. ....... 277
16.了解和使用条件编译 .. ................ 277
17.操纵书签 .. .. .. 279
18.捕捉错误 .. .. .. 279
17.接下来„„ .. 283
第十四章 微软 EXCEL 2002 中的事件编程............... 283
1.事件过程介绍 .. ............................. 283
2.激活和失活事件 .. ......................... 285
3.事件次序.. .. .... 287
4.工作表事件 .. .. 287
5.工作簿事件 .. .. 292
6.图表事件.. .. .... 310
7.内嵌图表事件.. .. ............................. 314
8.可为应用软件对象识别的事件 .. .... 315
9.查询表时间 .. .. 318
10.接下来„„ .. 321
第十五章 在 EXCEL 里使用 ACCESS........................ 321
1.对象库 .. .. ....... 321
2.建立对对象库的引用 .. .................. 327
3.链接到 ACCESS .. .. ........................... 327
4.使用 A UTOMATION 链接到 A CCESS 数据库 .. .................... 329
5.使用 DAO 链接到 A CCESS 数据库.. .. 332
6.使用 ADO 链接到 A CCESS 数据库.. .. 332
7.从 EXCEL 执行 A CCESS 任务 .. ........ 334
8.创建新 ACCESS 数据库 .. ................ 334
9.打开 A CCESS 窗体 .. ....................... 336
10.打开 A CCESS 报表 .. ..................... 341
11.运行 A CCESS 查询 .. ..................... 343
12.运行选择查询 .. ........................... 345
13.运行参数查询 .. ........................... 346
14.调用 A CCESS 函数 .. ..................... 348
15.获取 A CCESS 数据到 EXCEL 工作表 .. ............................ 348
16.使用 GET ROWS 方法获取数据 .. .... 348
17.使用 COPYFROMRECORDSET 方法获取数据 .. ................. 352
18.使用 TRANSFERSPREADSHEET 方法获取数据.. ................ 352
19.使用 O PENDATABASE 方法 .. ......... 353
20.从 ACCESS 数据创建文本文件.. .. .... 357
21.从 ACCESS 数据创建查询表 .. ....... 360
22.在 EXCEL 里使用 A CCESS 数据 .. ... 362
23.用 ACCESS 数据创建内嵌图表.. .. .... 362
24.传输 EXCEL 电子表格到 A CCESS 数据库 .. ..................... 364
25.将 EXCEL 电子表格链接到 A CCESS 数据库.. .................. 366
26.将 EXCEL 电子表格导入 A CCESS 数据库 .. ..................... 367
27.放置 EXCEL 数据到 A CCESS 表中.. .. 367
28.接下来„„ ....