第1章 Excel VBA基础知识 1
1-1 宏概述 2
1-1-1 录制宏和保存宏 2
1-1-2 查看宏和编辑宏 3
1-1-3 运行宏 4
1-2 了解VBA编辑器 8
1-2-1 VBE窗口 8
1-2-2 菜单 9
1-2-3 常用工具按钮和命令 9
1-2-4 工程资源管理器窗口 10
1-2-5 属性窗口 11
1-2-6 代码窗口 11
1-2-7 程序调试及程序调试窗口 13
1-2-8 VBA帮助窗口 14
1-3 VBA的对象、属性、方法和事件 16
1-3-1 了解VBA的对象、属性、方法和事件 16
1-3-3 Application对象 17
1-3-2 Excel中的对象简介 17
1-3-4 Workbooks对象 18
1-3-5 Worksheets对象集和Worksheet对象 20
1-3-6 Range对象 22
1-3-7 Font对象 24
1-3-8 Border对象 24
1-3-9 选取单元格区域的基本语句 25
1-4 VBA编程基础 26
1-4-1 常量和变量 26
1-3-10 向单元格中输入数据的基本语句 26
1-4-2 数组 29
1-4-3 运算符和表达式 30
1-4-4 语句概述 31
1-4-5 条件控制语句 33
1-4-6 循环结构语句 34
1-4-7 过程与自定义函数的设计 36
1-4-8 变量和过程的作用域 39
1-4-9 如何调用窗体对象中的过程 40
1-5-1 为工作簿对象和工作表对象指定事件的方法 41
1-5 工作簿对象和工作表对象事件编程 41
1-4-10 Excel工作簿函数的使用 41
1-5-2 工作簿事件编程 43
1-5-3 工作表事件编程 45
1-6 窗体及控件 47
1-6-1 窗体函数 47
1-6-2 用户窗体 49
1-6-3 控件 52
1-6-4 常用控件介绍 53
1-6-7 Spreadsheet控件 56
1-6-5 获取日期控件(DTPicker) 56
1-6-6 进度条控件(ProgressBar) 56
1-6-8 ListView控件 57
1-6-9 TreeView控件 58
1-7 利用文件对象模型操作文件 63
1-7-1 引用文件对象模型 63
1-7-2 FileSystemObject对象 64
1-7-3 检查文件是否存在 64
1-7-4 复制文件 65
1-8 创建自定义工具栏和自定义菜单 66
1-8-1 创建自定义菜单 66
1-7-5 删除文件 66
1-8-2 删除自定义菜单 68
1-8-3 创建自定义工具栏 68
1-8-4 删除自定义工具栏 69
1-9 操作其他应用程序 69
1-9-1 建立新的Word文档 69
1-9-3 打开Access数据库 70
1-9-2 打开已经存在的Word文档 70
1-10 操作数据库 71
1-10-1 ADO数据库访问技术 71
1-10-2 在Excel中引用ADO对象 72
1-10-3 ADO应用示例 73
1-10-4 SQL语言概述 77
1-10-5 SQL常用语句 78
1-10-6 SQL常用的数据统计语句 80
1-10-7 记录集对象的常用方法 80
1-10-8 将查询结果复制到Excel工作表 81
1-10-9 将查询结果赋给窗体控件 82
1-10-10 创建Access数据库文件 83
1-10-11 检查数据表是否存在 83
1-10-12 获取数据表名称 84
第2章 工资管理系统 85
2-1 工资管理系统的设计指导思想 86
2-2 工资管理系统的构成 86
2-2-1 系统构成 86
2-2-2 系统模块功能 87
2-3 创建工资管理系统工作簿 89
2-3-1 系统工作簿构成 89
2-3-2 设计系统封面 89
2-4 设计自定义菜单 91
2-4-1 自定义菜单的构成 91
2-4-2 创建自定义菜单 92
2-5 设计自定义工具栏 96
2-5-1 设计命令按钮 96
2-5-2 命令按钮的程序代码设计 97
2-5-3 自定义工具栏的效果 103
2-6 设计系统登录窗口 105
2-6-1 用户名和密码的保存 106
2-6-2 用户登录窗体结构设计 106
2-6-3 用户登录窗口程序代码设计 107
2-7 为工作簿对象指定事件 109
2-7-1 为工作簿对象指定Open事件 109
2-7-2 为工作簿对象指定BeforeClose事件 110
2-7-5 禁用×按钮关闭Excel应用程序 111
2-7-3 为工作簿对象指定Activate事件 111
2-7-4 为工作簿对象指定Deactivate事件 111
2-8 创建数据库 112
2-8-1 人事信息数据库的结构 112
2-8-2 考勤管理数据库的结构 113
2-8-3 工资管理数据库的结构 113
2-8-4 自动创建数据库文件和数据表 114
2-9 自动更新职工基本信息数据表中的年龄数据 118
2-11 几个需要设置的引用项目 119
2-10 定义公共变量 119
2-12 几个需要注意的问题 120
第3章 系统设置模块的设计 121
3-1 设置系统参数子模块 122
3-1-1 设计系统参数数据表 122
3-1-2 设置系统参数窗体结构设计 123
3-1-3 程序代码设计 123
3-2-1 工资账套的编号及命名规则 125
3-2-2 建立新账套窗体结构设计 125
3-2 建立新账套子模块 125
3-2-3 程序代码设计 126
3-2-4 建立新账套示例 131
3-3 选择操作账套子模块 131
3-3-1 选择操作账套窗体结构设计 132
3-3-2 程序代码设计 132
3-3-3 选择操作账套子模块应用示例 133
3-4 为【系统设置】自定义菜单项和自定义工具栏命令按钮指定宏 134
第4章 职工信息管理模块的设计 135
4-1-2 基础设置窗体结构设计 136
4-1 基础设置子模块设计 136
4-1-1 基础设置管理数据表的设计 136
4-1-3 窗体程序代码设计 137
4-1-4 判断文本框字符串长度是否超过数据表字段长度 141
4-1-5 判断文本框是否输入了数据 142
4-1-6 为有关的基础设置自定义菜单命令和自定义命令按钮指定宏 142
4-1-7 基础设置子模块应用示例 143
4-2 职工基本信息子模块设计 143
4-2-2 职工基本信息主窗体结构设计 144
4-2-1 职工基本信息数据表的设计 144
4-2-3 主窗体程序代码设计 147
4-2-4 判断复合框字符串长度是否超过数据表字段长度 158
4-2-5 判断复合框是否输入了数据 159
4-2-6 浏览按钮可操作性设计 159
4-2-7 多条件信息查询子窗体设计 161
4-2-8 为职工基本信息自定义菜单命令和自定义命令按钮指定宏 169
4-2-9 职工基本信息子模块应用示例 170
第5章 考勤管理模块的设计 175
5-1-2 设计考勤管理数据表 176
5-1-1 考勤管理模块的构成 176
5-1 考勤管理模块的总体设计 176
5-2 工作时间设置子模块 179
5-2-1 工作时间设置窗体结构设计 179
5-2-2 工作时间设置窗体程序代码设计 180
5-3 假日设置子模块 181
5-3-1 假日设置窗体设计 181
5-3-2 窗体程序代码设计 182
5-3-3 假日设置子模块应用示例 186
5-4-1 职工考勤管理主窗体的结构设计 188
5-4 出勤、加班、出差和请假管理子模块 188
5-4-2 出勤管理页面的结构设计 189
5-4-3 加班管理页面的结构设计 189
5-4-4 出差管理页面的结构设计 190
5-4-5 请假管理页面的结构设计 191
5-4-6 考勤管理窗体的程序代码设计 191
5-4-7 出勤、加班、出差和请假管理子模块的应用 198
5-5 考勤统计子模块 199
5-5-1 考勤统计窗体结构设计 199
5-5-2 统计汇总进度条设计 200
5-5-3 考勤统计窗体程序代码设计 201
5-5-4 考勤统计子模块应用示例 209
5-6 考勤资料查询与导出子模块 210
5-6-1 考勤资料查询与导出主窗体结构设计 210
5-6-2 考勤资料查询与导出主窗体程序代码设计 211
5-6-3 简单查询子窗体结构设计 214
5-6-4 简单查询子窗体程序代码设计 215
5-6-5 高级查询子窗体结构设计 218
5-6-6 高级查询子窗体程序代码设计 219
5-6-7 考勤资料查询与导出子模块应用示例 225
5-7 考勤数据清理子模块 229
5-7-1 考勤数据清理窗体结构设计 230
5-7-2 考勤数据清理窗体程序代码设计 230
5-8 为考勤管理自定义菜单命令和自定义命令按钮指定宏 231
第6章 工资数据管理模块的设计 235
6-1 工资数据管理模块的总体设计 236
6-1-1 工资数据管理模块的构成 236
6-1-2 设计工资管理数据表 236
6-2 浏览编辑工资数据子模块 237
6-2-1 浏览编辑工资数据主窗体结构设计 238
6-2-2 浏览编辑工资数据主窗体程序代码设计 240
6-2-3 批量修改子窗体结构设计 252
6-2-4 批量修改子窗体程序代码设计 253
6-2-5 浏览编辑工资数据子模块应用示例 258
6-3 产生银行代发工资文件子模块 261
6-3-1 产生银行代发工资文件窗体结构设计 262
6-3-2 产生银行代发工资文件窗体程序代码设计 263
6-3-3 产生银行代发工资文件子模块应用示例 267
6-4 生成并打印工资条子模块 268
6-4-1 生成并打印工资条窗体设计 269
6-4-2 生成并打印工资条窗体程序代码设计 269
6-4-3 生成并打印工资条子模块应用示例 273
6-5 发送工资条邮件子模块 274
6-5-1 发送工资条邮件主窗体结构设计 274
6-5-2 发送工资条邮件进度条子窗体结构设计 275
6-5-3 发送工资条邮件主窗体程序代码设计 276
6-5-4 发送工资条邮件子模块应用示例 280
6-6-1 Jmail组件简介 282
6-6 利用Jmail组件建立工资条邮件群发系统 282
6-6-2 工资条邮件群发系统窗体结构设计 283
6-6-3 工资条邮件群发系统窗体程序代码设计 285
6-6-4 工资条邮件群发系统应用示例 290
6-7 为工资数据管理自定义菜单命令和自定义命令按钮指定宏 292
第7章 奖金管理模块的设计 293
7-1 奖金管理模块的总体设计 294
7-1-1 奖金管理模块的构成 294
7-1-2 设计奖金管理数据表 294
7-2-2 新建奖金表窗体程序代码设计 295
7-2 新建奖金表子模块设计 295
7-2-1 新建奖金表窗体结构设计 295
7-2-3 浏览编辑奖金数据窗体结构设计 297
7-2-4 浏览编辑奖金数据窗体程序代码设计 299
7-2-5 奖金数据批量输入修改窗体结构设计 304
7-2-6 奖金数据批量输入修改窗体程序代码设计 305
7-2-7 新建奖金表子模块应用示例 308
7-4-1 导出奖金表窗体结构设计 311
7-3 打开奖金表子模块设计 311
7-4 导出奖金表子模块设计 311
7-4-2 导出奖金表窗体程序代码设计 312
7-4-3 导出奖金表子模块应用示例 314
7-5 产生银行代发奖金文件子模块设计 315
7-5-1 产生银行代发奖金文件窗体结构设计 315
7-5-2 产生银行代发奖金文件窗体程序代码设计 316
7-5-3 产生银行代发奖金文件子模块应用示例 319
7-6-1 发送奖金邮件主窗体结构设计 320
7-6 发送奖金邮件子模块设计 320
7-6-2 发送奖金邮件主窗体程序代码设计 321
7-6-3 发送奖金邮件子模块应用示例 324
7-7 利用Jmail组件建立奖金邮件群发系统 324
7-7-1 奖金群发系统窗体结构设计 324
7-7-2 奖金群发系统窗体程序代码设计 325
7-7-3 奖金群发系统应用示例 328
7-8 为奖金管理自定义菜单命令和自定义命令按钮指定宏 328
第8章 工资统计分析模块的设计 331
8-1-1 工资汇总窗体结构设计 332
8-1 工资总额汇总子模块的设计 332
8-1-2 工资汇总窗体程序代码设计 333
8-1-3 工资总额汇总子模块应用示例 337
8-2 工资费用分配子模块的设计 339
8-2-1 工资费用分配窗体结构设计 340
8-2-2 工资费用分配窗体程序代码设计 340
8-2-3 工资费用分配子模块应用示例 344
8-3 为工资统计分析自定义菜单命令和自定义命令按钮指定宏 345
第9章 资料查询与导出模块的设计 347
9-1 工资查询与导出子模块的设计 348
9-1-1 工资查询与导出主窗体结构设计 348
9-1-2 工资查询与导出主窗体程序代码设计 349
9-1-3 工资简单查询子窗体结构设计 354
9-1-4 工资简单查询子窗体程序代码设计 354
9-1-5 工资高级查询子窗体结构设计 356
9-1-6 高级查询子窗体程序代码设计 357
9-1-7 工资查询与导出子模块应用示例 360
9-2-1 基金查询与导出主窗体结构设计 363
9-2 社会保险及住房公积金查询与导出子模块的设计 363
9-2-2 基金查询与导出主窗体程序代码设计 364
9-2-3 社会保险及住房公积金查询与导出子模块应用示例 370
9-3 个人所得税查询与导出子模块的设计 372
9-3-1 个人所得税查询与导出窗体结构设计 372
9-3-2 个人所得税查询与导出窗体程序代码设计 373
9-3-3 个人所得税查询与导出应用示例 376
9-4 为资料查询与导出自定义菜单命令和自定义命令按钮指定宏 378
第10章 数据维护模块的设计 381
10-1 数据备份子模块设计 382
10-2 数据恢复子模块设计 383
10-3 数据清理子模块设计 384
第11章 系统维护模块的设计 385
11-1 修改用户名子模块的设计 386
11-1-1 修改用户名窗体结构设计 386
11-1-2 程序代码设计 387
11-2 修改密码子模块的设计 388
11-2-1 修改用户登录密码窗体结构设计 388
11-1-3 修改用户名示例 388
11-2-2 程序代码设计 389
11-2-3 修改用户登录密码示例 390
11-3 数据库维护子模块的设计 391
11-3-1 数据库维护窗体结构设计 391
11-3-2 程序代码设计 391
11-3-3 数据库维护子模块应用示例 394
11-4 为系统维护自定义菜单命令和自定义命令按钮指定宏 395
第12章 工具模块的设计 397
12-2-1 职工信息资料窗体结构设计 398
12-1 计算器子模块设计 398
12-2 职工信息资料子模块设计 398
12-2-2 职工信息资料窗体程序代码设计 399
12-2-3 职工信息资料子模块应用示例 401
12-3 为工具自定义菜单命令和自定义工具栏命令按钮指定宏 403
第13章 其他模块的设计 405
13-1 帮助模块的设计 406
13-2 系统菜单转换模块的设计 406
13-3 退出系统模块的设计 409