第3部分 专业项目 1
第1章 VBA概述 1
1.1 使应用程序自动化 1
第1部分 VBA基础 1
1.2 基于对象的方法(针对编程) 2
1.3 基于对象的方法的优点 2
第4部分 专业项目 2
1.4 VBA和VB 3
1.5 VBA 3
第5部分 专业项目 3
第6部分 专业项目 4
1.6.1 录制宏 4
1.6 宏概述 4
1.6.2 编辑宏 5
1.7 Visual Basic Editor概述 6
1.7.1 打开Visual Basic Editor 7
1.7.2 Visual Basic Editor的组件 7
1.8 小结 13
第2章 变量、常量和表达式 14
2.1 VBA中的变量 14
2.1.1 变量的类型 15
2.1.2 声明变量 18
2.1.3 选择变量作用域 19
2.2.1 内置常量 20
2.2 常量 20
2.1.4 使用Static关键字 20
2.3 运算符 21
2.2.2 用户自定义的常量 21
2.3.2 比较运算符 22
2.3.1 算术运算符 22
2.3.3 连接运算符 23
2.3.4 逻辑运算符 23
2.3.5 运算符的优先级顺序 23
2.4 小结 24
第3章 过程、函数和模块 25
3.1.1 过程的类型 25
3.1.2 Sub过程 25
3.1 使用过程 25
3.1.3 Function过程 27
3.1.4 Property 过程 27
3.1.5 将参数传递给过程 28
3.2 使用Visual Basic Editor创建过程 28
3.4 调用函数 31
3.3 使用函数 31
3.5 创建用户自定义的函数 41
3.6.2 标准模块 44
3.6 使用模块 44
3.6.1 窗体模块 44
3.7 小结 45
3.6.3 类模块 45
4.1.1 声明数组 46
4.1 数组 46
第4章 数组和程序结构 46
4.1.2 在数组中存储值 47
4.1.3 重新确定数组的维数 48
4.1.4 提取数组中的信息 48
4.2 处理数组 49
4.2.2 LBound和UBound函数 49
4.2.1 IsArray函数 49
4.2.3 Erase语句 50
4.3 程序结构 50
4.3.1 条件结构 51
4.3.2 循环结构 56
4.4 小结 59
5.1 什么是调试 60
第2部分 高级VBA概念 60
第5章 VBA中的调试和错误处理 60
5.1.2 编译错误 61
5.1.1 语法错误 61
5.1.3 运行期间错误 62
5.1.4 逻辑错误 63
5.2.1 中断模式 64
5.2 VBA中的调试工具 64
5.2.2 单步执行过程 66
5.2.3 监视过程 67
5.2.4 避免错误 74
5.3 错误处理 75
5.3.1 捕获错误 76
5.3.2 编写错误处理程序 77
5.3.3 退出错误处理程序 78
5.4 小结 79
第6章 VBA中的对象 80
6.1 对象模型 80
6.1.1 对象属性 80
6.1.2 对象方法 81
6.1.3 对象事件 82
6.2.1 对象浏览器 84
6.1.4 将对象赋给变量 84
6.2 查找对象 84
6.2.2 在线帮助 85
6.2.3 属性/方法列表 86
6.3 使用对象库 87
6.4 小结 88
第7章 使用VBA中的安全特征 89
7.1 VBA中的安全特征 89
7.2 数字证书 89
7.2.1 获得数字证书 90
7.2.2 安装数字证书 91
7.2.3 导出数字证书 93
7.2.5 查看数字证书的详细信息 94
7.2.4 删除数字证书 94
7.3 使用数字签名 96
7.2.6 编辑数字证书的属性 96
7.3.1 把数字签名添加到宏项目中 97
7.3.2 从宏项目中删除数字签名 98
7.4 使用安全级别 98
7.4.1 指定安全级别 98
7.4.2 指定信任源 99
7.5 使用密码保护 100
7.6 小结 101
项目1 创建通讯簿应用程序 102
第8章 项目个案研究:Global Systems公司 103
8.1 项目生命周期 103
8.1.1 需求分析 104
8.1.2 设计 104
8.1.4 测试 106
8.1.5 发布应用程序 106
8.2 小结 106
8.1.3 编码和构造 106
9.1 窗体 107
第9章 创建应用程序的用户界面 107
9.1.1 窗体属性 109
9.1.2 窗体事件 113
9.1.3 窗体控件 114
9.1.4 窗体方法 120
9.1.5 在应用程序间共享窗体 121
9.2 小结 123
10.1 使用控件 124
第10章 处理用户窗体 124
10.1.1 显示和获取ListBox控件中的值 124
10.1.2 显示和检索ComboBox控件中的值 126
10.1.3 返回CheckBox控件的值 127
10.1.4 返回TextBox控件的值 127
10.3 小结 128
10.2 显示状态栏消息 128
第11章 使用自动化 129
11.1 将OLE用于自动化 129
11.1.1 引用对象库 129
11.1.2 早期绑定与晚期绑定比较 130
11.2 小结 133
12.1 Contacts Book应用程序逻辑概述 134
第12章 给Contacts Book应用程序添加功能 134
12.2 Outlook对象模型概述 135
12.2.2 NameSpace对象 136
12.2.3 Folder对象 136
12.2.1 Application对象 136
12.2.4 Outlook项 139
12.2.5 Explorer对象 140
12.2.6 Inspector对象 141
12.3 自动处理Contacts Book应用程序 141
12.3.1 UserForm_Initialize过程 150
12.3.2 cboContactList_Change过程 152
12.3.4 PrintLabels 过程 153
12.3.3 AddtoDoc过程 153
12.3.5 AddContact过程 157
12.3.6 ModifyContact过程 158
12.3.7 DeleteContact过程 159
12.3.8 Refresh 过程 160
12.4 小结 161
13.2 运行应用程序 162
13.1 编译应用程序 162
第13章 使用Contacts Book应用程序 162
13.3 发布应用程序 163
13.4 小结 165
项目2 创建技能搜索应用程序 166
14.1 项目生命周期 167
14.1.1 需求分析 167
第14章 项目个案研究:Red Sky IT Systems 167
14.1.2 设计 168
14.1.3 编码和构造 171
14.1.4 测试 171
14.1.5 发布应用程序 171
14.2 小结 172
第15章 .NETFramework概述 173
15.1.1 CLR(通用语言运行时环境) 173
15.1 .NET Framework的概述 173
15.1.2 .NET Framework类库 174
15.2 .NET Framework的特征 175
15.2.1 一致而简化的编程 175
15.2.2 资源管理 176
15.2.3 支持调试 176
15.2.5 管理安全性 176
15.2.4 使用汇编 176
15.3 Visual Studio.NET概述 177
15.3.1 Visual Basic.NET 177
15.3.2 Visual C++.NET 177
15.3.3 Visual C#.NET 178
15.4 小结 179
第16章 VB.NET入门 180
16.1 VB.NET概述 180
16.1.1 VB.NET的特征 180
16.1.2 VB.NET中的语言差别 181
16.1.3 什么是面向对象的编程 182
16.1.4 VB.NET中面向对象的特征 184
16.1.5 在VB.NET中声明类成员 186
16.1.6 升级应用程序 187
16.2 小结 191
第17章 集成开发环境 192
17.1 集成开发环境概述 192
17.2 Visual Studio.NET IDE的增强组件 192
17.2.1 Start页面 192
17.2.2 Solution Explorer 193
17.2.3 Server Explorer 195
17.2.5 工具箱 196
17.2.4 Dynamic Help(动态帮助) 196
17.2.6 Class View(类视图)窗口 197
17.2.7 Properties(属性)窗口 198
17.2.8 任务列表 199
17.2.10 智能感知 200
17.3 使用窗口 200
17.3.1 隐藏窗口 200
17.2.9 Command(命令)窗口 200
17.3.2 停靠窗口 201
17.4 使用Visual Studio.NET IDE设计Skill Search应用程序 202
17.4.1 使用Windows Forms 202
17.4.2 使用Web Forms 205
17.5 小结 206
第18章 使用VB.NET和ADO.NET处理数据库 207
18.1 数据库体系结构 207
18.1.1 数据访问对象(DAO) 208
18.1.2 ODBC 212
18.1.3 RDO 217
18.1.4 ADO 217
18.2 ADO.NET概述 220
18.2.1 ADO.NET的对象 221
18.2.2 采用VB.NET的ADO.NET 222
18.3 XML与.NET的集成 231
18.4 小结 235
第19章 调用Skill Search应用程序 236
19.1 处理Skill Search应用程序 236
19.2 小结 261
20.1 ASP.NET概述 262
第20章 使用ASP.NET 262
20.2 小结 276
第21章 执行Skill Search应用程序 277
21.1 运行Skill Search应用程序 277
21.2 发布应用程序 280
21.3 小结 281
项目3 创建Word Checker工具 282
第22章 项目个案研究:Writers and Editors公司 283
22.1 项目生命周期 283
22.1.1 需求分析 284
22.1.2 设计 284
22.1.5 发布应用程序 285
22.1.4 测试 285
22.1.3 编码与构造 285
22.2 小结 286
第23章 在VBA中使用Word对象 287
23.1 Word程序选项概述 287
23.1.1 View选项卡 287
23.1.2 General选项卡 289
23.1.3 Edit选项卡 290
23.2 Word Application对象 291
23.2.1 Application对象属性 291
23.2.2 Application对象方法 293
23.3 Word Document对象 295
23.3.1 指定Document对象 295
23.3.4 RecentFiles对象 296
23.3.2 打开Document对象 296
23.3.3 创建新文档 296
23.3.5 Document对象的属性 297
23.3.6 Document对象的方法 298
23.4 Text Representation对象 302
23.4.1 Range对象 303
23.4.2 Selection对象 304
23.4.3 Characters对象 305
23.4.4 Words对象 305
23.4.5 Sentences对象 306
23.4.6 Paragraph对象 306
23.5 小结 307
第24章 为应用程序编码 308
24.1 Word Checker工具逻辑概述 308
24.1.1 cmdOK Click()函数 309
24.1.2 OpenStandardControlFileAndStoreErrWords()函数 314
24.1.3 OpenScriptAndStartProcessing()函数 318
24.1.4 LogErr()函数 320
24.1.5 应用程序中使用的基本函数 322
24.2 完成Word Checker工具的代码 323
24.3 小结 341
第25章 执行Word Checker工具 342
25.1 运行应用程序 342
25.2 发布应用程序 343
25.3 小结 345
项目4 创建Easy Selling应用程序 346
第26章 项目个案研究:Perfect Stationery公司 348
26.1 需求分析 349
26.2 设计 349
26.2.1 设计数据库 349
26.2.2 设计用户输入窗口 350
26.3 编码 355
26.4 测式 355
26.5 执行和发布应用程序 355
26.6 小结 356
第27章 创建数据库 357
27.1 Easy Selling应用程序数据库 357
27.1.1 tblClientExpectations表 357
27.1.2 tblClients表 357
27.1.4 tblInstalldecide表 358
27.1.3 tblClientSolutions表 358
27.1.5 tblProductUsageAndCompAnalysis表 359
27.1.6 tblSalesRep表 360
27.1.7 tblStandardExpectations表 361
27.1.8 tblStandardSolutions表 361
27.2 小结 361
第28章 设计应用程序的窗体 362
28.1 创建窗体 362
28.1.1 MainMDI窗体 362
28.1.2 StartApplication窗体 362
28.1.3 ClientInfo窗体 365
28.1.4 ClientIssues窗体 367
28.1.5 ClientSolutions窗体 367
28.1.6 ClientDocuments窗体 368
28.2 小结 369
第29章 使用Excel对象 370
29.1 Excel的VBA对象 370
29.2 使用Excel的Application对象 370
29.2.1 Application对象的函数 370
29.2.2 Application对象的属性 371
29.2.3 Application对象的方法 372
29.2.4 事件相关的方法 373
29.3 使用Workbook对象 375
29.3.1 声明Workbook对象 376
29.3.2 打开工作簿 376
29.3.3 创建新工作簿 376
29.4 Workbook对象属性 377
29.5 Workbook对象方法 377
29.6 Workbook对象事件 378
29.7 Worksheet对象 379
29.7.1 声明Worksheets对象 379
29.7.2 创建新工作表 380
29.7.3 Worksheet对象的属性 380
29.7.4 Worksheet对象的方法 380
29.7.5 Worksheet对象事件 382
29.8 使用Range对象 383
29.8.1 使用Range方法 383
29.8.2 使用Cells方法 383
29.8.3 使用Rows方法 384
29.8.4 使用Columns方法 384
29.8.5 使用Offset方法 384
29.8.6 使用Cut方法 384
29.8.9 使用DataSeries方法 385
29.8.8 使用Clear方法 385
29.8.7 使用Copy方法 385
29.8.10 使用Fill方法 386
29.8.11 使用Insert方法 386
29.8.12 使用Resize方法 386
29.8.13 Range对象属性 386
29.9 编写简单的Excel VBA应用程序 387
29.10 小结 391
第30章 使用PowerPoint对象 392
30.1 PowerPoint的VBA对象 392
30.1.1 使用PowerPoint的Application对象 392
30.1.2 使用Presentation对象 392
30.1.3 使用Slide对象 395
30.1.4 使用Shape对象 398
30.2 放映幻灯片 404
30.2.1 幻灯片放映切换 404
30.2.2 幻灯片放映的设置 404
30.2.3 放映幻灯片 405
30.3 为PowerPoint编写简单的VBA应用 405
30.4 小结 410
第31章 Easy Selling应用主窗口的代码编写 411
31.1 Easy Selling应用主窗口的工作方式 411
31.1.1 MainMDI Load 过程 415
31.1.2 PictureBox2 Click过程 415
31.1.3 PictureBox3 Click 过程 416
31.1.4 PictureBox4 Click过程 416
31.1.5 The PictureBox5 Click 过程 417
31.1.7 The MainMDI Activated过程 418
31.1.6 The PictureBox6 Click 过程 418
31.1.8 StartApplication Load过程 425
31.1.9 btnDeleteCust Click过程 426
31.1.10 btnUpdate Click过程 428
31.1.11 TabStart Click过程 430
31.1.12 btnDeselectAll Click过程 431
31.1.13 lstExistingCustomers SelectedValueChanged过程 432
31.1.14 btnRefreshList Click过程 432
31.2 小结 433
第32章 Easy Selling应用Customer屏幕的代码编写 434
32.1 Easy Selling应用Customers屏幕的工作方式 434
32.1.1 Buttonl Click过程 453
32.1.2 ClientInfo Load过程 453
32.1.4 AddNewCustomer过程 457
32.1.3 btnUpdate Click过程 457
32.1.5 EditCustomerRecord过程 461
32.1.6 PrepareIssuesSolutions过程 465
32.2 小结 466
第33章 Easy Selling应用Issues屏幕的代码编写 467
33.1 Easy Selling应用的Issues屏幕的工作方式 467
33.1.1 Buttonl Click过程 470
33.1.2 ClientIssues Load过程 470
33.1.3 btnUpdate_Click过程 471
33.2 小结 472
第34章 Easy Selling应用Solutions屏幕的代码编写 473
34.1 Easy Selling应用的Solutions屏幕的工作方式 473
34.1.1 Buttonl Click过程 476
34.1.2 ClientSolutions Load过程 476
34.1.3 btnUpdate_Click过程 477
34.2 小结 478
第35章 Easy Selling应用Outputs屏幕的代码编写 479
35.1 Easy Selling应用的Outputs Screen的工作方式 479
35.1.1 Buttonl Click过程 489
35.1.2 btnUpdate Click过程 490
35.1.3 AnalysisReport过程 490
35.1.4 ProposalCreation 过程 493
35.1.5 PresentationCreation 过程 496
35.1.6 findandreplace 过程 498
35.2 小结 499
第36章 执行Easy Selling应用 500
36.1 运行应用 500
36.1.1 主屏幕 500
36.1.2 Customers屏幕 504
36.1.3 Issues屏幕 506
36.1.4 Solutions屏幕 507
36.1.5 Outputs屏幕 508
36.1.6 Exit按钮 511
36.2 发布应用 511
36.3 小结 511
第7部分 题外话 512
第37章 XML和.NET 512
37.1 XML概述 512
37.1.1 XML和HTML之间的区别 512
37.1.2 创建简单的XML文档 513
37.1.3 文档类型定义(DTD) 514
37.1.4 XML名字空间 515
37.1.5 XMLSchema 516
37.1.6 XML文档对象模型(DOM) 517
37.2 .NETFramework类库 518
37.2.1 System名字空间 518
37.2.2 .NET Framework XML类 518
37.2.3 抽象基类 518
37.2.4 NETDOM实现 522
37.3 小结 527
第8部分 附录 528
附录A VBA提示与技巧 528
A.1 使用VBA程序代码 528
A.1.1 优化策略 528
A.1.2 编程技巧 530
B.1.1 Application对象 533
B.1.2 Application对象的属性 533
B.1 Access对象模型 533
附录B 使用Access对象模型 533
B.1.3 Application对象的方法 534
B.1.4 Form对象 534
B.1.5 Report对象 536
B.1.6 Control对象 537
附录C 应用升级到VB.NET 539
c.1 升级方法 539
C.1.1 升级项目 540
C.1.2 代码改动 542
附录D VBA常量 545
D.1 Word VBA常量 545
D.2 Excel VBA常量 565
D.3 Access VBA常量 587