第一部分 VBA编程语言详解 28
第1章 VBA介绍 28
目录 28
1.1.2 三种“过程”类型 29
1.1.1 VBA如何适合于宏 29
1.1 什么是宏 29
1.2 记录一个VBA宏 30
1.2.1 查看生成的模块 31
1.3.1 Project Explorer 32
1.3 浏览Visual Basic Editor 32
1.2.2 编辑记录宏 32
1.3.2 Properties窗口 33
1.4.1 创建一个新模块 34
1.4 编写你自己的命令宏 34
1.3.3 工作区 34
1.5 运行一个VBA宏 35
1.4.2 编写一个命令宏 35
1.6.1 理解用户定义函数 36
1.6 用VBA创建用户定义函数 36
1.6.2 编写用户定义函数 37
1.7.1 过程的结构 38
1.7 使用过程 38
1.6.3 使用用户定义函数 38
1.7.2 调用一个过程 39
1.7.4 插入一个过程的另一种方法 41
1.7.3 公有过程与私有过程 41
1.7.5 Visual Basic中Editor的简化代码编写方法 42
1.7.6 查找代码 46
1.7.7 用书签导航模块 48
1.8.2 输出一个模块 49
1.8.1 重新命名一个模块 49
1.8 使用模块 49
1.9 设置Visual Basic Editor选项 50
1.8.4 移去一个模块 50
1.8.3 输入一个模块 50
1.9.1 编辑器标签 51
1.9.2 Editor Format标签 52
1.9.4 Docking标签 53
1.9.3 General标签 53
1.9.5 保护你的代码 54
1.10 小结 55
第2章 变量 56
2.1 变量声明 57
2.2 理解变量范围 58
2.2.1 过程级范围 59
2.2.2 模块级范围 60
2.3.1 通过引用传递变量 62
2.3 把变量作为参数传递 62
2.2.3 公有范围 62
2.3.2 通过值传递变量 63
2.4 使用静态变量 64
2.6 变量数据类型 66
2.5 避免变量错误 66
2.6.2 创建用户定义数据类型 68
2.6.1 改变缺省数据类型 68
2.7 使用数组变量 69
2.7.2 多维数组 70
2.7.1 动态数组 70
2.8.3 枚举用户定义命名常量 71
2.8.2 创建用户定义常量 71
2.8 使用常量 71
2.8.1 使用内部常量 71
2.9 小结 72
第3章 构建VBA表达式 73
3.1 表达式结构 74
3.2.1 算术运算符 75
3.2 VBA运算符 75
3.2.3 比较运算符 76
3.2.2 连接运算符 76
3.2.4 逻辑运算符 77
3.3.1 优先级顺序 78
3.3 运算符的优先级 78
3.3.2 控制优先级顺序 79
3.4.1 近观算术表达式 80
3.4 数值表达式 80
3.4.2 数值数据类型转换函数 82
3.4.3 VBA的数学函数 83
3.4.4 VBA的财务函数 84
3.5 字符串表达式 85
3.6.3 Xor运算符 87
3.6.2 Or运算符 87
3.6 逻辑表达式 87
3.6.1 And运算符 87
3.7 日期表达式 88
3.6.6 Not运算符 88
3.6.4 Eqv运算符 88
3.6.5 Imp运算符 88
3.8.2 VBA的预定义格式 90
3.8.1 Format函数 90
3.8 格式化数值和日期表达式 90
3.8.3 用户定义数值格式 92
3.8.4 用户定义的日期和时间格式 93
3.9 新的VBA 6.0函数 94
3.10 小结 99
第4章 使用对象 100
4.1 什么是对象 101
4.3 使用对象属性 102
4.2 对象等级 102
4.3.2 返回一个属性的值 103
4.3.1 设置一个属性的值 103
4.4 使用对象方法 104
4.5 处理对象事件 105
4.7 对象浏览器 106
4.6 使用对象集合 106
4.7.2 使用对象浏览器 107
4.7.1 对象浏览器特征 107
4.9 分配对象给一个变量 108
4.8 引用附加对象库 108
4.11 使用多个属性或方法 109
4.10 Is运算符 109
4.12.1 Application对象的属性 111
4.12 Application对象 111
4.12.2 Application对象的方法 112
4.13.3 Window对象属性 114
4.13.2 打开一个新的窗口 114
4.1 3 Window对象 114
4.13.1 指定一个Window对象 114
4.14 小结 115
4.13.4 Window对象方法 115
第5章 控制你的VBA代码 116
5.2 使用If...Then做出真/假判断 117
5.1 判断代码 117
5.3 使用If...Then…Else处理一个False结果 118
5.4.1 使用And和Or运算符 119
5.4 多重判断 119
5.4.2 使用多重If...Then...Else语句 120
5.4.3 使用Select Case语句 121
5.5.1 IIf函数 125
5.5 判断函数 125
5.5.2 Choose函数 126
5.5.3 Switch函数 127
5.6 循环代码 128
5.7 Do...Loop结构 129
5.8 使用For...Next循环 130
5.9 For Each...Next循环 132
5.10 使用Exit For或Exit Do退出循环 133
5.11 小结 134
第6章 Word 2000 VBA编程 136
第二部分 Microsoft Office“对象” 136
6.1 从WordBasic向VBA转变 137
6.2.1 View标签 138
6.2 通过VBA读取和设置Word的程序选项 138
6.2.2 General标签 141
6.3.1 Application对象的属性 142
6.3 Word的Application对象 142
6.2.3 Edit标签 142
6.3.2 Application对象的方法 144
6.4 使用Document对象 145
6.3.3 Application对象的事件 145
6.4.3 创建并打开一个Word工作区 146
6.4.2 打开一个文档 146
6.4.1 指定一个Document对象 146
6.4.6 Document对象属性 149
6.4.5 RecentFiles对象 149
6.4.4 创建一个新文档 149
6.4.7 Document对象方法 151
6.4.8 Document对象事件 155
6.5.1 Range对象 156
6.5 Word中表示文本的对象 156
6.5.2 Selection对象 159
6.5.4 Words对象 164
6.5.3 Characters对象 164
6.5.5 Sentences对象 165
6.5.6 Paragraph对象 166
6.6.3 检查语法 167
6.6.2 拼写检查一个字 167
6.6 用VBA检查拼写和语法 167
6.6.1 拼写检查一个文本或范围 167
6.6.4 Word的拼写和语法选项 168
6.8 小结 169
6.7 Word 2000中的新对象 169
第7章 用VBA操纵Excel 2000 170
7.1.1 指定一个快捷键 171
7.1 Excel的宏选项 171
7.2 使用VBA读取并设置Excel的程序选项 172
7.1.2 用相对引用记录 172
7.2.1 View标签 173
7.2.2 Calculation标签 174
7.2.3 Edit标签 175
7.2.4 General标签 177
7.3.2 Application对象的其他属性 178
7.3.1 访问工作表函数 178
7.3 Excel的Application对象 178
7.3.3 Excel的Application对象的方法 179
7.3.4 一些类似事件的方法 181
7.4.1 指定一个Workbook对象 184
7.4 操纵Workbook对象 184
7.4.4 Workbook对象属性 185
7.4.3 创建一个新的工作簿 185
7.4.2 打开一个工作簿 185
7.4.5 Workbook对象方法 186
7.4.6 Workbook对象事件 188
7.5 处理Worksheet对象 189
7.5.3 Worksheet对象属性 190
7.5.2 创建一个新工作表 190
7.5.1 指定一个Worksheet对象 190
7.5.4 Worksheet对象方法 191
7.5.5 Worksheet对象事件 193
7.6.1 返回一个Range对象 195
7.6 使用Range对象 195
7.6.3 选择一个单元或范围 198
7.6.2 使用Offset方法 198
7.6.5 其他Range对象属性 199
7.6.4 定义一个范围名 199
7.6.6 其他Range对象方法 200
7.7 使用附加应用程序 201
7.7.1 创建一个附加应用程序 202
7.7.2 用VBA控制附加应用程序 203
7.9 小结 204
7.8 Excel 2000中的新对象 204
第8章 PowerPoint 2000演示文稿编程 205
8.2 PowerPoint的Presentation对象 206
8.1 PowerPoint的Application对象 206
8.2.4 Presentation对象属性 207
8.2.3 创建一个新演示 207
8.2.1 指定一个Presentation对象 207
8.2.2 打开一个演示 207
8.2.5 Presentation对象方法 208
8.2.6 神奇应用 209
8.3.1 指定一个幻灯 210
8.3 PowerPoint的Slide对象 210
8.3.2 创建一个新幻灯 211
8.3.4 Slide对象属性 212
8.3.3 插入来自一个文件的幻灯 212
8.3.5 魔术应用:创建幻灯 213
8.3.6 Slide对象方法 214
8.4.1 指定一个形状 215
8.4 处理Shape对象 215
8.4.2 给一个幻灯增加形状 216
8.4.3 一些Shape对象属性 219
8.4.4 神奇(Juggling)应用程序:创建标题页 220
8.4.5 一些Shape对象方法 222
8.4.6 神奇应用:创建说明书 223
8.5.1 幻灯放映转接 226
8.5 操作幻灯放映 226
8.5.3 运行幻灯放映 227
8.5.2 幻灯放映设置 227
8.6 PowerPoint 2000中的新对象 228
8.7 小结 229
第9章 VBA和Access 2000 230
9.1 Access对象层次 231
9.2 控制Access选项 232
9.3.1 一些Application对象属性 235
9.3 深入Access的Application对象 235
9.4 Access的Form对象 236
9.3.2 一些Application对象方法 236
9.4.1 打开一个窗体 237
9.4.4 Form对象属性 238
9.4.3 关闭一个窗体 238
9.4.2 创建一个窗体 238
9.5.1 打开一个报表 240
9.5 Access的Report对象 240
9.4.5 Form对象方法 240
9.5.3 关闭一个报表 241
9.5.2 创建一个报表 241
9.5.4 报表分组与排序 242
9.6 Control对象 244
9.7.2 返回关于Access的信息 245
9.7.1 返同一个对象的当前状态 245
9.7 使用方便的SysCmd函数 245
9.8 创建Access事件处理程序 246
9.9.2 向Module对象中增加代码 247
9.9.1 向窗体模块中增加代码 247
9.9 使用Access模块 247
9.11 Access2000中的新对象 248
9.10 保护Access工程 248
9.12 小结 249
第10章 与用户交互 252
第三部分 VBA用户接口设计 252
10.1.1 使喇叭蜂鸣 253
10.1 声音编程 253
10.2.1 改变Access中的鼠标指针 254
10.2 向用户显示信息 254
10.1.2 PowerPoint音效编程 254
10.2.2 在状态栏中显示消息 255
10.2.3 使用MsgBox显示消息 259
10.3 获取用户输入 262
10.3.1 提示用户输入 263
10.3.2 访问一个应用程序的内建对话框 264
10.4 小结 267
第11章 使用Microsoft窗体 268
11.2 向你的项目中加入一个窗体 269
11.1.1 VBA中的窗体和对话框 269
11.1 理解自定义窗体和对话框 269
11.3.1 输入和输出窗体文件 270
11.3 在VBA应用程序间共享窗体 270
11.4 改变窗体对象的设计时间属性 271
11.3.2 在应用程序之间拖曳窗体对象 271
11.4.4 Misc类 272
11.4.3 Font类 272
11.4.1 Appearance类 272
11.4.2 Behavior类 272
11.4.7 Scrolling类 273
11.4.6 Position类 273
11.4.5 Picture类 273
11.5.2 选择控件 274
11.5.1 向一个窗体插入控件 274
11.5 使用控件 274
11.5.3 调整控件大小 275
11.5.4 移动控件 276
11.5.5 复制控件 278
11.5.9 设置控件属性 279
11.5.8 排序重叠控件 279
11.5.6 删除控件 279
11.5.7 组合控件 279
11.5.10 公用控件属性 280
11.5.13 创建用户定义控件 281
11.5.12 向工具栏中加控件 281
11.5.11 设置标签顺序 281
11.7.1 命令按钮 284
11.7 窗体控件类型 284
11.6 处理窗体事件 284
11.7.3 文本框 285
11.7.2 标签 285
11.7.7 切换按钮 286
11.7.6 复选框 286
11.7.4 框架 286
11.7.5 选项按钮 286
11.7.8 列表框 287
11.7.10 滚动按钮 288
11.7.9 滚动条 288
11.7.11 标签条(Tab Strip)和MultiPage控件 289
11.8.1 显示窗体 292
11.8 在一个过程中使用窗体 292
11.8.2 窗体显示时处理事件 293
11.8.4 处理窗体结果 294
11.8.3 卸载窗体 294
11.9 小结 296
第12章 创建自定义菜单和工具栏 297
12.1.1 第一步:练习前的计划 298
12.1 给菜单命令指定宏 298
12.1.2 创建一个新菜单 299
12.1.4 添加菜单命令和指定宏 300
12.1.3 创建一个新的层叠菜单 300
12.2.1 创建一个新工具栏 301
12.2 给你的宏创建自定义工具栏 301
12.1.5 删除菜单和菜单命令 301
12.3 菜单、工具栏和VBA 302
12.2.2 添加工具栏按钮并指定一个宏 302
12.4 理解命令栏 303
12.4.1 指定命令栏 304
12.4.2 CommandBars对象的属性 305
12.5.1 创建一个新的命令栏 306
12.5 使用命令栏 306
12.5.2 命令栏属性 307
12.5.4 复位一个内部命令栏 309
12.5.3 删除自定义命令栏 309
12.6.1 指定一个控件 310
12.6 使用命令栏控件 310
12.6.3 Command BarInfo实用程序 311
12.6.2 添加一个控件到命令栏 311
12.6.4 控件属性 312
12.6.5 控件方法 315
12.7 小结 316
第13章 使用其他应用程序 318
第四部分 应用程序集成 318
13.1 启动另一个应用程序 319
13.2 激活一个正在运行的应用程序 322
13.3 发送键击给一个应用程序 324
13.4 使用动态数据交换 327
13.4.2 在VBA和服务器应用程序之间建立一个链路 328
13.4.1 DDE:基础 328
13.4.3 控制服务器应用程序 331
13.4.4 与服务器应用程序交换数据 332
13.5 小结 335
第14章 OLE和ActiveX对象编程 336
14.1 OLE基础 337
14.1.2 组件对象模型 338
14.1.1 复合文档 338
14.1.4 ActiveX控件 339
14.1.3 自动化 339
14.1.5 OLE和注册表 340
14.1.6 CLSID关键字 341
14.2 链按和嵌入对象编程 342
14.3.1 理解AddOLEObject方法 343
14.3 插入OLE对象 343
14.3.2 查找对象的Class类型 344
14.3.3 插入一个新的嵌入对象 345
14.3.4 插入作为嵌入对象的已有文件 346
14.3.5 插入作为链接对象的已有文件 347
14.3.6 OLE对象和Word的InlineShape对象 348
14.3.7 在Word中插入ActiveX控件 349
14.4.1 OLE对象的属性 350
14.4 使用链接和嵌入对象 350
14.4.2 OLE对象的方法 351
14.5 小结 354
第15章 通过OLE自动化控制应用程序 355
15.1.1 引用对象库 356
15.1 理解自动化 356
15.1.2 后期绑定与前期绑定 358
15.2.1 New关键字 359
15.2 访问自动化对象 359
15.2.2 CreateObject函数 360
15.2.3 GetObject函数 362
15.3 处理自动化错误 363
15.4 小结 364
第16章 用类模块建立你自己的对象 365
16.1 部分完成:自定义集合 366
16.1.2 向自定义集合添加对象 367
16.1.1 声明一个自定义集合 367
16.1.3 使用自定义集合中的对象 368
16.2 理解类模块 369
16.1.4 从自定义集合中删除对象 369
16.3.2 定义数据成员 371
16.3.1 生成类模块 371
16.3 建立类模块 371
16.4.1 Property Get过程 372
16.4 实现类属性 372
16.4.2 Property Let过程 373
16.6.1 Initialize事件 375
16.6 定义类事件 375
16.5 建立类方法 375
16.7.2 为每个成员提供包装 376
16.7.1 为一个集合建立一个类模块 376
16.6.2 Terminate事件 376
16.7 创建类集合 376
16.8 实现对象的类属性 378
16.9.1 Excel的Application对象事件 379
16.9 使用带有Office的Application对象的事件 379
16.9.2 Word的Application对象事件 380
16.10 小结 381
16.9.3 PowerPoint的Application对象事件 381
第17章 使用VBA与Excel列表一同工作 384
第五部分 VBA数据库编程 384
17.2 使用列表数据 385
17.1 什么是列表 385
17.3 启动应用程序 387
17.4 输入数据 390
17.4.3 准备数据记录窗体 391
17.4.2 用VBA处理数据记录 391
17.4.1 使用自定义窗体输入数据 391
17.4.4 向数据库写数据 393
17.5.2 用VBA代码处理数据编辑 396
17.5.1 使用自定义窗体编辑数据 396
17.5 编辑数据 396
17.6.1 过滤用户数据库 398
17.6 过滤数据 398
17.6.2 用VBA过滤数据 399
17.6.3 自动过滤一个工作表 400
17.7 得到数据库记录的计数 401
17.8.2 用VBA处理记录删除 402
17.8.1 删除用户数据库记录 402
17.8 删除记录 402
17.10 数据小计 403
17.9 数据排序 403
17.11 小结 404
第18章 数据访问对象编程 405
18.1 关于数据访问对象 406
18.2.1 创建工作空间 407
18.2 访问位于外部数据库的数据 407
18.2.2 连接到Jet数据库 408
18.2.3 连接到非Jet数据库 410
18.2.4 连接到ODBC数据源 412
18.3.2 获得域信息 413
18.3.1 理解记录集类型 413
18.3 使用记录集 413
18.3.3 Recordset对象属性 416
18.3.4 Recordset对象方法 417
18.4.1 使用一个SQL表达式打开记录集 418
18.4 查询记录集 418
18.4.2 从QueryDef对象打开记录集 420
18.5.2 检索一个或多个完整行 421
18.5.1 检索一个单独的域值 421
18.5 从Excel中检索数据 421
18.5.3 检索一个完整的记录集 423
18.6 小结 425
第19章 高级数据库编程 426
19.1.1 创建新的数据库 427
19.1 维护一个Jet数据库 427
19.1.2 压缩数据库 431
19.2 使用事务处理过程 437
19.3.1 创建ODBCDirect工作区 439
19.3 使用ODBCDirect工作区 439
19.3.2 创建数据源 440
19.3.3 连接到一个数据库 441
19.3.5 返回多个记录集对象 444
19.3.4 使用ODBCDirect记录集 444
19.4.1 创建一个安全的数据库 446
19.4 Jet数据库安全编程 446
19.4.2 打开一个安全数据库 450
19.4.3 使用User对象 451
19.4.4 使用 Group对象 453
19.4.5 设置对象权限 455
19.5.1 理解通用数据访问 457
19.5 未来展望:ActiveX数据对象(ADO) 457
19.5.2 解决方案:OLE DB和ADO 458
19.5.3 ADO编程 459
19.6 小结 468
第20章 VBA互联网和内联网编程 470
第六部分 VBA互联网和内联网编程 470
20.1 使用VBA读取和设置Office 2000的Web选项 471
20.2 Word的Email选项编程 475
20.3.1 Excel中的PublishObject 477
20.3 发布为HTML 477
20.3.2 PowerPoint中的PublishObject 482
20.4 控制Office 2000超链接 483
20.4.2 添加新的Hyperlink对象 484
20.4.1 使用Hyperlink对象 484
20.4.4 Hyperlink对象方法 485
20.4.3 Hyperlink对象属性 485
20.4.5 FollowHyperlink方法 486
20.5 建立自定义Web浏览器 487
20.5.2 用WebBrowser控件显示Web页 488
20.5.1 引用WebBrowser控件 488
20.5.3 应用程序:万维网浏览器 489
20.5.5 在万维网浏览器中导航 492
20.5.4 用WebBrowser控件导航 492
20.6 通过自动化控制Internet Explorer 494
20.6.2 InternetExplorer对象属性 495
20.6.1 设置引用和对象变量 495
20.7 小结 497
第21章 HTML编程:VBScript和脚本编辑器 498
21.1 VBA和VBScript之间的区别 499
21.2.1 <SCRIPT>标记 501
21.2 附加脚本到网页中 501
21.2.3 使用一个控件的LANGUAGE属性 503
21.2.2 关于VBScript事件处理过程的注释 503
21.3.1 Window对象 504
21.3 脚本对象体系结构 504
21.3.2 Document对象 508
21.4.1 Form对象 511
21.4 VBScript如何与窗体交互 511
21.4.2 处理窗体控件 512
21.5 示例:一个抵押贷款计算器 514
21.6.1 启动脚本编辑器 519
21.6 使用脚本编辑器 519
21.6.3 插入脚本 520
21.6.2 漫游脚本编辑器接口 520
21.7 小结 521
第22章 用Outlook进行电子邮件编程 522
22.2 使用Explorer对象 523
22.1 理解NameSpace对象 523
22.3 Inspector对象 524
22.2.2 Explorer对象方法 524
22.2.1 Explorer对象属性 524
22.3.2 Inspector对象方法 525
22.3.1 Inspector对象属性 525
22.4.2 使用Namespace对象的Folders属性 526
22.4.1 引用缺省的文件夹 526
22.4 使用MAPIFolder对象 526
22.4.3 给用户提示文件夹 527
22.4.4 一些MAPIFolder属性 528
22.5.1 项的类型 529
22.5 什么是项 529
22.4.5 一些MAPIFolder方法 529
22.6.1 MailItem对象属性 530
22.6 深入考察MailItem对象 530
22.5.2 创建一个项 530
22.6.2 决定发送者的Email地址 532
22.6.3 MailItem对象方法 533
22.6.4 使用收件人 535
22.6.5 使用附件 536
22.7.1 建立一个对象事件处理程序 537
22.7 在Outlook的VBA中处理对象事件 537
22.7.2 Application对象事件 541
22.8.2 登录一个MAPI会话 542
22.8.1 得到NameSpace对象 542
22.8 自动化和Outlook对象模型 542
22.8.3 注销一个MAPI会话 543
22.9 小结 544
第23章 捕获程序错误 546
第七部分 高级VBA编程 546
23.1.1 设置错误捕获 547
23.1 一个基本的错误捕获策略 547
23.1.2 编写错误处理代码 548
23.1.3 重新开始执行过程 550
23.2 使用Err对象 553
23.1.4 禁止捕获 553
23.2.1 Err对象属性 554
23.3 可捕获的VBA错误 556
23.2.2 Err对象方法 556
23.4 小结 559
第24章 调试VBA过程 560
24.1.2 编译错误 561
24.1.1 语法错误 561
24.1 调试的基本策略 561
24.2 暂停一个过程 562
24.1.4 逻辑错误 562
24.1.3 运行时间错误 562
24.2.1 进入中断模式 563
24.3.1 单步进入过程执行 565
24.3 单步调试一个过程 565
24.2.2 退出中断模式 565
24.4 监视过程值 566
24.3.4 单步执行到光标 566
24.3.2 单步跨过过程执行 566
24.3.3 结束过程的单步执行 566
24.4.2 加入监视表达式 567
24.4.1 使用本地窗口 567
24.4.5 快速显示数据值 569
24.4.4 删除监视表达式 569
24.4.3 编辑监视表达式 569
24.5.1 在即时窗口中打印数据 570
24.5 使用即时窗口 570
24.6.1 代码缩进以便于阅读 572
24.6 调试技巧 572
24.5.2 在即时窗口中执行语句 572
24.6.6 当一个过程拒绝执行时如何做 573
24.6.5 用小写字母输入VBA关键字 573
24.6.2 打开语法检查 573
24.6.3 要求变量声明 573
24.6.4 分解复杂过程 573
24.7 小结 574
24.6.10 利用自定义常量 574
24.6.7 注释掉有问题的语句 574
24.6.8 分解长语句 574
24.6.9 尽可能使用Excel的值域名 574
第25章 Windows API编程 575
25.2 声明Win32 API过程 576
25.1 理解Win32 API 576
25.2.1 对API过程使用常量 577
25.2.2 对API过程使用类型定义 579
25.3.1 蜂鸣喇叭 581
25.3 Win32 API举例 581
25.2.3 警告和提示 581
25.3.2 返回Windows的文件夹 583
25.3.3 返回硬盘驱动器信息 586
25.3.4 得到系统度量 589
25.3.5 从VBA退出Windows 592
25.3.6 处理DoEvents的较好办法 593
25.4.1 打开一个注册表键 596
25.4 注册表和Win32 API 596
25.4.3 查询一个注册表值 597
25.4.2 关闭一个注册表键 597
25.4.4 设置一个注册表值 601
25.5 小结 604
第26章 VBA技巧与技术 605
26.1 VBA中的条件编译 606
26.1.1 建立你的条件编译应用程序 607
26.1.3 Win32和Win16的条件编译 608
26.1.2 用于调试的条件编译 608
26.2.1 将设置保存在注册表中 610
26.2 将应用程序设置保存在注册表中 610
26.2.2 从注册表中读出设置 611
26.2.4 示例:跟踪文件使用 612
26.2.3 删除注册表中的设置 612
26.3.1 返回文件和文件夹信息 614
26.3 通过VBA访问文件系统 614
26.2.5 读出所有的节设置 614
26.3.2 操纵文件和文件夹 619
26.4.1 打开一个磁盘文件 623
26.4 低级文件I/O 623
26.4.2 理解顺序文件存取 625
26.4.3 理解随机文件存取 634
26.5.1 关闭屏幕更新 636
26.5 加快过程的技巧 636
26.4.4 理解二进制文件存取 636
26.5.5 优化循环 637
26.5.4 在Excel中,尽量不要重新计算 637
26.5.2 隐藏你的文档 637
26.5.3 除非不得已,否则不要选择数据 637
26.7 小结 639
26.6 数字签名一个VBA项目 639
第27章 一个Excel支票簿应用程序 642
第八部分 VBA应用 642
27.1 使用支票簿 643
27.1.1 输入账号信息 644
27.1.3 记录支票 645
27.1.2 输入起始余额 645
27.1.5 记录存款 646
27.1.4 记录提款 646
27.2 结算支票簿 647
27.3 支票簿应用程序是怎样工作的 648
27.3.1 理解Account Info工作表 649
27.3.2 Transaction过程 650
27.3.3 Account Information过程 657
27.3.4 对账过程 662
27.4 小结 668
第28章 工作时做快速备份 669
28.1.1 选择要备份的文件 670
28.1 使用Backup应用程序 670
28.1.3 设置备份模式 671
28.1.2 选择备份目标 671
28.3 Backup应用程序和注册表 672
28.2 理解Backup应用程序 672
28.4.1 初始化窗体 673
28.4 Backup窗体简介 673
28.4.2 Source标签 679
28.4.3 Destination标签 684
28.4.4 Mode标签 686
28.4.5 命令按钮 688
28.5.1 Parse SelectedFiles过程 690
28.5 Backup应用程序的支持过程 690
28.5.2 BuildDocIist过程 692
28.5.4 DisplayDestinationData过程 693
28.5.3 DisplaySourceData过程 693
28.5.5 CheckBackupStatus过程 696
28.5.6 BackUpSelectedFiles过程 698
28.5.7 ProcessBackupMode过程 700
28.5.8 SaveRegistrySettings过程 701
28.6 小结 703
第29章 Access和Outlook:电子邮件归并 704
29.2 创建一个邮件 705
29.1 电子邮件归并做什么 705
29.2.1 第1步:创建数据资源 706
29.2.2 第2步:创建报文 707
29.2.3 第3步:创建邮件 708
29.2.4 第4步:发送邮件 709
29.3.1 表格 710
29.3 电子邮件归并数据库介绍 710
29.3.2 查询 711
29.3.3 窗体 712
29.4.1 Messages窗体中的代码 714
29.4 隐藏其后的代码 714
29.4.2 Select Email Field Dialog窗体 722
29.4.3 Mailings窗体中的代码 723
29.5 小结 733
附录A VBA语句 736
第九部分 附录 736
附录B VBA函数 739
附录C Windows Scripting Host编程 744
附录D Windows ANSI字符集 766
附录E HTML入门 768
附录F VBA内部函数 789
附录G 关于配套CD-ROM盘 792