第1章 在Office程序中录制和运行宏 2
什么是VBA以及VBA能做什么 2
VBA与VB的差别 2
宏基础 3
录制宏 3
计划宏 4
打开宏录制器 4
命名宏 5
设定运行宏的方式 8
运行宏 12
在Word中录制样本宏 13
在Excel中录制样本宏 15
创建一个个人宏工作簿,如果还没有它的话 15
在Excel中录制样本宏 16
在PowerPoint中录制标本宏 17
指定运行宏的方式 18
将宏指定到工具栏按钮或菜单项 18
将宏指定到组合键 21
删除宏 21
第2章 从Visual Basic编辑器入手 24
打开Visual Basic编辑器 24
和所选择的宏一道打开Visual Basic编辑器 24
打开Visual Basic编辑器 25
导引到一个宏 25
使用Visual Basic编辑器的主窗口 26
工程资源管理器 26
对象浏览器 29
代码窗口 29
属性窗口 32
立即窗口 33
为工程设置属性 34
自定义Visual Basic编辑器 35
选择喜欢的编辑器设置和视图设置 36
编辑器窗口的选择和布局 41
自定义工具栏和菜单栏 41
自定义工具箱 43
关闭Visual Basic编辑器并返回到主应用程序 45
第3章 编辑已录制的宏 46
在Visual Basic编辑器中测试宏 46
单步执行宏 47
设置断点 48
插入注释行 48
跳出某个宏 49
编辑Word宏 49
单步执行Transpose_Word_Right宏 51
运行Transpose_Word_Right宏 51
创建Transpose_Word_Left宏 51
保存作品 52
编辑Excel宏 53
取消隐藏个人宏工作簿 53
打开宏以便编辑 53
编辑这个宏 54
保存作品 56
编辑PowerPoint宏 56
保存作品 60
第4章 在Visual Basic编辑器中从头生成代码 62
设置Visual Basic编辑器以创建过程 62
为Word创建一个过程 63
为Excel创建一个过程 67
为PowerPoint创建一个过程 70
第5章 VBA的基本语法 78
准备 78
过程 78
函数 79
子过程 79
语句 79
关键词 81
表达式 82
运算符 82
变量 82
常量 83
参数 83
指明参数的名称和忽略参数的名称 83
对象 84
集合 85
属性 85
方法 85
事件 85
第6章 了解变量、常量以及枚举常量 86
使用变量 86
变量命名的方法 86
声明变量 87
设定变量的数据类型 93
常量 97
声明自己的常量 97
语法 97
设定常量的范围和有效事件 98
常量列表 98
第7章 数组变量 99
什么是数组 99
声明数组变量 99
在数组中存储数值 101
多维数组 102
声明动态数组 102
再定义数组的大小 102
从数组中返回信息 103
清除数组的内容 103
检查某个变量是否为数组变量 103
检查数组的边界 104
数组排序 104
数组查询 106
在数组中实现线性查询 107
在数组中实现二分法查询 110
第8章 寻找所需的对象、方法和属性 114
什么是对象 114
属性 115
方法 116
集合 117
集合中的对象 117
在集合中添加对象 118
查寻需要的对象 118
使用宏录制器录制对象 118
使用对象浏览器 120
使用帮助查找对象 123
使用列表属性/方法的特色 124
使用对象变量代表对象 125
第9章 使用函数 130
函数 130
使用函数 131
将参数传递给函数 132
数据类型转换 133
使用Asc函数返回字符代码 134
使用Val函数取出字符串中的数字 134
使用Str函数将数值转换为字符 135
使用Format函数设定格式 135
使用Chr函数以及常数输入特殊字符 138
用函数处理字符串 139
使用Left、 Right和Mid函数返回字符串的一部分 140
使用InStr和InStrRev函数在一个字符串中查找另一个字符 142
使用LTrim、 RTrim和Trim去除空格 144
用Len函数检查字符串的长度 144
用StrConv、 LCase和UCase改变字符串的大小写 145
使用StrComp函数进行比较 146
使用VBA的数学函数 147
使用日期和时间函数 147
用DatePart函数分解日期 148
使用DateDiff函数 149
使用DateAdd函数 149
使用文件管理函数 150
使用Dir函数判断一个文件是否存在 150
返回当前的路径 151
第10章 编写自定义函数 152
函数的组成部分 152
编写一个函数 153
手动生成函数 153
通过“添加过程”对话框生成函数 154
向函数传递参数 154
声明参数的数据类型 155
指定可选参数 155
控制函数的使用范围 155
可用于任何VBA宿主软件的函数实例 156
编写在Word中使用的自定义函数 159
编写在Excel中使用的函数 160
编写在PowerPoint中使用的函数 161
第11章 用代码决策 164
怎样比较 164
使用逻辑运算符测试多种条件 165
If语句 167
If…Then 167
If…Then…Else语句 169
If…Then…Else If…Else语句 170
用If和GoTo产生循环 174
If语句嵌套 175
Select Case语句 177
语法 177
第12章 使用循环重复执行 180
何时使用循环 180
循环的基本知识 180
用For循环于固定的循环次数 181
For…Next循环 181
For Each…Next循环 186
使用Exit For语句 186
用Do循环于可变的循环次数 187
Do While…Loop 187
Do…Loop While循环 190
Do Until…Loop循环 191
Do…Loop Until循环 193
使用Exit Do语句 194
While…Wend循环 195
循环嵌套 196
防止死循环 198
第13章 使用消息框和输入框以获得用户输入 200
打开某一过程以进行工作 200
在Word和Excel中显示状态栏信息 201
消息框 202
使用消息框的优点和缺点 203
消息框的语法 203
显示简单的消息框 204
显示多行消息框 205
为消息框选择buttons 206
为消息框选择图标 206
为消息框设置默认按钮 207
控制消息框的模式 208
为消息框指定标题 209
向消息框添加“帮助”按钮 210
为消息框指定帮助文件 210
只使用部分参数 211
从消息框取回一个值 211
输入框 212
输入框的语法 213
从输入框取回输入 214
当消息框和输入框均不满足需要时 214
第14章 生成简单的自定义对话框 215
什么时候需要使用自定义对话框 215
生成自定义对话框 216
设计对话框 216
插入用户窗体 217
重命名用户窗体 219
向用户窗体添加控件 221
重命名控件 224
移动控件 224
复制和粘贴控件 225
更改控件上的标签 225
工具箱控件的重要属性 226
使用控件组工作 237
对齐控件 238
放置控件 239
调节对话框的Tab顺序 239
把对话框链接到过程 240
加载和卸载对话框 241
显示和隐藏对话框 241
设置默认命令按钮 242
从对话框中取回用户的选择 242
从文本框中返回一个字符串 242
从选项按钮中返回一个值 243
从复选框中返回一个值 243
从列表框中返回一个值 244
从组合框中返回一个值 245
把对话框连接到过程的例子 245
Word例子:移动段落过程 245
通用例子:从列表框中打开文件 253
生成对应于该用户窗体的代码 255
使用应用程序的内置对话框 257
显示内置对话框 258
在内置对话框中设置和恢复选项 260
返回用户在对话框中选择的按钮 261
为对话框指定超时 261
第15章 生成复杂对话框 262
生成和使用复杂对话框 262
更新对话框以反映用户的选择 262
显示对话框的附加部分 263
在对话框中跟踪过程 266
使用多页对话框和TabStrip控件 267
生成无模型对话框 274
为对话框选择位置 275
使用事件来控制窗体 276
仅仅应用于UserForm对象的事件 278
应用于UserForm对象和容器控件的事件 282
应用于大多数控件的事件 286
仅仅应用于极少数控件的事件 297
第16章 构建模块及使用类 300
构建模块化代码 300
什么是模块化代码 300
模块化代码的优点 301
怎样编写模块化代码 301
模块中的代码布局 301
调用过程 301
代码的逻辑改进 303
改进代码布局 307
生成及使用类 310
类模块的作用 311
简述 311
计划类 311
生成类模块 311
命名类 312
设定Instancing属性 312
声明类的变量和常量 312
增加类的属性 312
添加类的方法 315
使用类 316
第17章 调试代码和处理错误 318
调试原理 318
不同的错误类型 319
语言错误 319
编译错误 319
运行错误 320
程序逻辑错误 321
VBA调试工具 321
中断模式 322
“逐过程”命令和“跳出”命令 323
“本地”窗口 323
“监视”窗口 323
“立即”窗口 326
“调用堆栈”对话框 327
处理死循环 328
处理运行错误 328
什么时候需要编写错误处理程序 328
捕捉错误 329
使错误捕捉无效 330
错误后恢复 330
错误的描述 333
建立自己的错误描述 333
取消警告显示 333
在Word、Excel和Project中处理用户中断 334
程序运行时不让用户输入 334
部分程序运行时阻止用户输入 335
整理代码 335
第18章 构建出色的代码 337
什么是出色的程序 337
保留或恢复用户环境 338
保证用户始终处于最佳的工作状态 338
让用户了解程序的执行情况 338
禁用屏幕更新 339
操控指针 340
在程序开始显示信息 341
程序结束时在信息框或对话框中显示信息 341
创建日志文件 341
确保程序在适当的条件下运行 344
在程序完成后重置 345
撤销程序做出的修改 345
移除临时文件和临时文件夹 345
第19章 用VBA的安全特性保护代码 347
理解VBA如何实现安全性 347
为宏工程添加数字签名 347
什么是数字证书 348
获取数字证书 348
选择适当的安全级 354
理解VBA隐含的安全威胁 354
防御宏病毒 355
指定适当的安全设定 355
指定可靠发行商 356
锁定代码 358
第20章 了解Word对象模型和重要对象 362
考查Word对象模型 362
了解Word的可创建对象 362
使用Documents集合和Document对象进行工作 364
创建文档 364
保存文档 365
打开文档 368
关闭文档 369
更改文档的模板 370
打印文档 370
使用ActiveDocument对象进行工作 371
使用Selection对象进行工作 372
检查所选内容的类型 372
检查所选内容的文字部分类型 373
获得关于当前所选内容的其他信息 374
在所选内容处、所选内容之后或之前插入文本 375
在所选内容中插入段落 376
应用某种样式 376
扩展所选内容 376
折叠所选内容 377
创建和使用Range 377
定义带名称的Range 378
重定义Range 378
使用Duplicate属性存储或复制格式设置 379
设置Options对象 379
确认超链接需用Ctrl+单击 379
关断改写模式 379
设置默认的文件路径 380
关闭跟踪更改 380
第21章 使用Word中广泛使用的对象进行工作 381
在VBA中使用Find对象和Replacement对象 381
了解对应于Execute方法的语法 382
使用ClearFormatting方法 383
使查找和替换投入工作 383
使用Headers、Footers和PageNumbers进行工作 384
了解VBA如何构成页眉和页脚 384
接触到页眉和页脚 384
检查页眉或页脚是否存在 385
与前一节的页眉或页脚相链接 385
生成不同的第一页页眉 385
生成不同的奇数页页眉和偶数页页眉 386
将页码添加到页眉和页脚 386
使用Sections,PageSetup,Windows和Views进行工作 389
给文档添加一节 389
更改页面设置 390
打开含有打开文档的新窗口 390
关闭除第一个窗口之外的所有与活动文档对应的窗口 391
拆分窗口 391
显示与窗口对应的文档结构图 391
滚动窗口 391
排列多个窗口 392
定位窗口和调整窗口的大小 392
确认项目已在窗口内显示 393
改变文档的视图 393
放大视图以显示多个页面 393
使用表格进行工作 394
创建表格 394
选择表格 395
将文本转换为表格 395
确认所选内容在表格之内 396
找出所选内容在表格中什么地方 397
对表格排序 398
给表格添加一列 398
从表格中删除一列 399
设置列的宽度 399
选择某一列 400
给表格添加一行 400
从表格中删除一行 400
设置一行或多行的高度 400
选择某一行 401
插入单元格 401
返回单元格内的文本 401
将文本输入单元格 402
删除单元格 402
选择单元格区域 403
将表格或行转换为文本 403
第22章 了解Excel对象模型和重要对象 405
获得Excel对象模型的概括性知识 405
了解Excel的可创建对象 405
使用Workbooks进行工作 407
创建工作簿 407
保存工作簿 408
打开工作簿 410
关闭工作簿 412
共享工作簿 413
保护工作簿 413
使用ActiveWorkbook对象进行工作 413
使用Worksheets进行工作 414
插入工作表 414
删除工作表 415
复制或移动工作表 415
打印工作表 416
保护工作表 417
使用ActiveSheet对象进行工作 418
使用ActiveCell或Selection进行工作 418
使用Activelell进行工作 418
使用Selection进行工作 420
使用Range进行工作 420
使用单元格区域进行工作 421
创建带名称的区域 421
删除带名称的区域 422
使用带名称的区域进行工作 422
使用已用区域进行工作 422
使用特定单元格进行工作 422
将公式输入单元格 423
设置Opttons对象 423
在Application对象中设置选项 423
在工作簿中设置选项 424
第23章 使用Excel中广泛使用的对象进行工作 426
使用Charts进行工作 426
创建图表 426
指定图表的源数据区域 427
指定图表类型 427
使用图表中的系列进行工作 428
给图表添加图例 429
给图表添加标题 430
使用图表的坐标轴进行工作 430
使用Windows进行工作 430
在工作簿上打开新窗口 431
关闭窗口 431
激活窗口 431
排列窗口和调整窗口的大小 431
缩放窗口和设置显示选项 432
使用Find和Replace进行工作 433
使用Find方法进行搜索 433
使用FindNext方法和FindPrevious方法继续搜索 434
使用Replace方法进行替换 434
搜索和替换格式设置 435
第24章 了解PowerPoint对象模型和重要对象 436
获得PowerPoint对象模型的概括性知识 436
了解PowerPoint的可创建对象 436
使用Presentations进行工作 437
创建基于默认模板的新演示文稿 438
创建基于模板的新演示文稿 438
打开演示文稿 439
保存演示文稿 439
关闭演示文稿 441
将演示文稿或幻灯片导出到图形文件 441
打印演示文稿 442
将模板应用于演示文稿、幻灯片或幻灯片子集 442
使用ActivePresentation进行工作 443
使用Windows和Views进行工作 443
使用ActiveWindow进行工作 444
在演示文稿上打开新窗口 444
关闭窗口 444
激活窗口 445
排列各窗口和调整窗口的大小 445
改变视图 445
使用窗格进行工作 446
使用Slides进行工作 446
添加幻灯片到演示文稿 446
从现有演示文稿中插入幻灯片 447
使用标识符查找幻灯片 448
改变现有幻灯片的版式 448
删除现有的幻灯片 448
复制和粘贴幻灯片 449
创建幻灯片副本 449
移动幻灯片 449
借助名称来访问幻灯片 449
对幻灯片子集进行工作 450
为幻灯片设置格式 450
为幻灯片、幻灯片子集或母版设置切换方式 451
使用Masters进行工作 452
使用幻灯片母版进行工作 452
使用标题母版进行工作 452
使用讲义母版进行工作 453
使用备注母版进行工作 453
删除母版 453
第25章 使用Shapes进行工作和运行幻灯片放映 454
使用Shapes进行工作 454
将Shapes添加到幻灯片 454
删除形状 457
选择所有形状 457
重定位形状和调整形状的大小 458
复制形状的格式设置 458
使用形状中的文本进行工作 458
为形状或形状范围设置动画 461
使用HeadersFooters进行工作 462
返回所需要的页眉或页脚对象 462
显示或隐藏页眉或页脚对象 463
设置页眉或页脚中的文本 463
为使用日期和时间的页眉和页脚设置格式 463
使演示文稿中所有页眉和页脚标准化 463
设置和运行幻灯片放映 464
控制放映类型 464
创建自定义放映 465
删除自定义放映 465
开始幻灯片放映 466
改变幻灯片放映的大小和位置 466
在各幻灯片之间移动 466
暂停放映和使用白屏与黑屏 467
切换到自定义放映和结束自定义放映 467
退出幻灯片放映 468
第26章 了解Outlook对象模型和重要对象 469
获得Outlook对象模型的概括性知识 469
了解Outlook将VBA项目存储在何处 471
了解Outlook的可创建对象和主要的用户界面项目 471
使用Application对象进行工作 471
使用NameSpace对象进行工作 472
使用检查器和浏览器进行工作 474
创建项目 475
关闭Outlook 476
了解使用Outlook对象进行工作的一般方法 476
使用Display方法 476
使用Close方法 476
使用Delete方法 477
使用Printout方法 477
使用Save方法 477
使用SaveAs方法 477
针对邮件进行工作 478
创建新邮件 478
针对邮件内容进行工作 478
给邮件添加附件 479
发送邮件 480
针对日历项目进行工作 480
创建新的日历项目 480
针对日历项目内容进行工作 480
针对任务和任务请求进行工作 481
创建任务 481
针对任务项目内容进行工作 481
将任务指派给同事 482
搜索项目 482
第27章 使用Outlook中的事件进行工作 485
使用应用程序级事件进行工作 485
使用Startup事件 485
使用Quit事件 486
使用ItemSend事件 486
使用NewMail事件和NewMailEx事件 487
使用AdvancedSearchComplete事件和AdvancedSearchStopped事件 488
使用MAPILogonComplete事件 488
使用Reminder事件 489
使用OptionsPagesAdd事件 489
使用项目级事件进行工作 489
声明对象变量并初始化事件 490
了解应用于所有消息项目的事件 490
了解应用于浏览器、检查器和视图的事件 492
了解应用于文件夹的事件 493
了解应用于项目和结果的事件 493
了解应用于Outlook面板的事件 494
了解应用于提醒的事件 494
了解应用于同步处理的事件 495
第28章 了解Access对象模型和重要对象 496
开始使用Access中的VBA 496
创建模块 497
创建函数 497
创建一个宏来运行函数 498
使用AutoExec宏设置Access的启动项 499
运行子过程 499
了解Option Compare Database语句 499
纵览Access对象模型 500
了解Access的可创建对象 500
打开和关闭数据库 502
使用CurrentDb方法转回当前数据库 502
打开和关闭当前数据库 502
同时打开多个数据库 503
关闭数据库 504
创建和移除工作区 504
为数据库设定启动选项 505
应用Screen对象 508
使用DoCmd对象执行命令 509
使用OpenForm方法打开窗体 510
使用PrintOut方法打印对象 511
使用RunMacro方法运行宏 511
第29章 使用VBA处理Access数据库中的数据 513
了解如何进行操作 513
准备访问数据库中的数据 513
引用相应的对象库 514
与数据库建立连接 514
打开记录集 516
用ADO打开记录集 516
选择如何访问ADO记录集中的数据 517
用DAO打开记录集 518
访问记录集中的特定记录 521
使用MoveFirst、MoveNext、MovePrevious和MoveLast方法 521
使用Move方法移动到指定记录 522
查找记录 522
在ADO记录集中查找记录 522
在DAO记录集中查找记录 523
返回记录中的字段 524
编辑记录 524
插入和删除记录 524
关闭记录集 525
第30章 实现不同软件间的访问 526
不同软件相互交流的工具 526
使用自动方式传输信息 526
前期绑定和后期绑定 527
用CreateObject函数创建对象 528
用GetObj ect函数返回一个对象 528
在Office软件中使用自动方式的实例 529
使用Shell函数运行软件 536
返回运行软件的任务 537
激活软件窗口 537
使用数据对象存储和获取信息 538
创建数据对象 538
在数据对象中存储信息 538
从数据对象中返回信息 539
向剪贴板传送信息 539
从剪贴板中返回信息到数据对象 539
确认数据对象中是否包含某特定格式 539
通过DDE进行数据交换 540
使用DDEInitiate方法打开DDE连接 540
使用DDERequest方法返回另一个软件中的文本 541
使用DDEPoke方法向另一个软件发送文本 541
使用DDEExecute方法在另一个软件中执行命令 542
使用DDETerminate方法关闭DDE通道 542
使用DDETerminateAll方法关闭所有打开的DDE通道 542
通过SendKeys语句进行数据交换 543