罗刚君《Excel VBA程序开发自学宝典》

罗刚君《Excel VBA程序开发自学宝典》

作者:罗刚君

出版社:电子工业出版社

出版年:2011-8-1

评分:7.7

ISBN:9787121141454

所属分类:网络科技

书刊介绍

内容简介

罗刚君编著的《Excel VBA程序开发自学宝典(第2版)》是VBA入门的经典教材,对VBA的基础理论、语法规则、代码优化、编写思路、开发函数与使用数组等都进行了详尽的理论阐述和案例演示,同时还搭配窗体与控件、正则表达式、字典、File System Object、API、类模块、脚本语言的应用,以及开发功能区、开发加载宏、封装代码等高级应用,力求完整地展示了VBA的功能与魅力。通读本书,您不仅能学到如何开发函数、编写程序,还能设计报表系统,独立开发Excel百宝箱式的大中型插件。 《Excel VBA程序开发自学宝典(第2版)》是畅销书《Excel VBA程序开发自学宝典》的升级版本。《Excel VBA程序开发自学宝典》第1版于2009年10月上市,基于Excel 2007版本撰写,曾多次销罄重印,并在当当网和卓越网连续三个季度居VBA类图书销量第一名。然而本着精益求精的原则,作者在售后服务QQ群和售后论坛中收集了大量的用户反馈信息,对图书进行改版,删除了部分实用性不大的内容,增加了正则表达式、字典的应用、开发功能区与封装代码等章节,增加了开发插件的案例,全书改用Excel 2010截图,并修正了第1版中无法兼容Excel 2010的部分代码与设计思路,促使教学内容更具通用性。 本书适应的读者对象是完全没有编程经验的读者,它将带您步入VBA程序殿堂。

作品目录

第1章 从插件看VBA的优越性 1

1.1 从身份证号获取个人信息 1

1.1.1 内置公式法 1

1.1.2 自定义函数法 2

1.1.3 插件法 3

1.1.4 浅谈VBA优势 4

1.2 插件特点及如何发挥插件的优势 5

1.2.1 Excel插件的特点 5

1.2.2 Excel插件的优势与限制 6

1.2.3 如何发挥插件的优势 7

1.2.4 开发Excel插件的条件 7

1.2.5 本书架构 8

第2章 VBA简史与安全性 9

2.1 VBA的发展史与优缺点 9

2.1.1 宏与VBA 9

2.1.2 VBA历史与版本 9

2.1.3 VBA的优、缺点 10

2.2 VBA能做什么 11

2.2.1 VBA主要用途 11

2.2.2 VBA主要用户 12

2.3 VBA的安全性 13

2.3.1 VBA的安全性 13

2.3.2 了解安全性对话框 13

2.3.3 让自己的VBA程序畅通无阻 16

2.4 使用VBA帮助 17

2.4.1 利用帮助学习VBA语法 17

2.4.2 捕捉错误 19

第3章 巧设VBA编辑器提升编程效率 23

3.1 认识VBE组件 23

3.1.1 访问VBA开发环境 23

3.1.2 认识VBE的组件 24

3.1.3 VBE中不同代码窗口的作用 29

3.2 VBE中的选项设置 31

3.2.1 编辑器选项 31

3.2.2 编辑器格式选项 34

3.2.3 通用选项 35

3.2.4 VBA代码保护 36

第4章 VBA基本概念 38

4.1 理解VBA的对象、属性与方法 38

4.1.1 什么是对象 38

4.1.2 如何理解属性 39

4.1.3 如何理解方法 40

4.1.4 判断对象的属性与方法 41

4.2 认识VBA的事件 41

4.2.1 什么是事件 41

4.2.2 事件的分类及其用途 42

4.3 VBA的运算符 42

4.3.1 VBA中运算符的分类 42

4.3.2 算术运算符 42

4.3.3 比较运算符 43

4.3.4 逻辑运算符 43

4.3.5 运算符的优先顺序 45

4.4 简单的字符处理函数 46

4.4.1 字符串处理函数功能介绍 46

4.4.2 StrComp:字符相似比较 47

4.4.3 Strconv:字符串类型转换 47

4.4.4 Format:格式化字符串 48

4.4.5 LCase/ UCase:大小写转换 48

4.4.6 String / Space:重复字符 49

4.4.7 Lset / Rset:字符串往左/右对齐 49

4.4.8 Instr:返回字符出现位置 50

4.4.9 Left/Mid/Right:从左、中、右取值 50

4.4.10 LTrim/RTrim/ Trim:去除空格 51

4.4.11 Like:字符串相似度比较 51

第5章 深入解析数据类型与变量 53

5.1 数据类型 53

5.1.1 为什么要区分数据类型 53

5.1.2 认识VBA的数据类型 53

5.1.3 数据类型的声明与转换 55

5.2 常量与变量 57

5.2.1 常量的定义与用途 57

5.2.2 常量的声明方式 58

5.2.3 常量的命名规则 58

5.2.4 变量的定义与用途 59

5.2.5 变量的类型与声明 60

5.2.6 为什么要声明变量 61

5.2.7 区分静态变量与动态变量 62

5.2.8 变量的作用域和生命周期 63

5.2.9 认识对象变量 65

5.2.10 认识数组变量 66

第6章 编写Sub过程及开发函数 67

6.1 认识过程 67

6.1.1 过程的分类与调用方式 67

6.1.2 插入过程的方式 69

6.1.3 过程的命名规则 71

6.2 编写Sub过程 71

6.2.1 Sub过程的语法解析 71

6.2.2 Sub过程的执行流程 73

6.2.3 过程的递归 77

6.2.4 Sub过程实例演示 78

6.3 认识Function过程 79

6.3.1 Function过程的特点 79

6.3.2 Function的语法解析 79

6.3.3 调用Function过程 80

6.4 关于过程的参数 81

6.4.1 Sub过程的参数及应用 81

6.4.2 按值传递与按址传递的参数 83

6.4.3 Function过程的参数 84

6.5 开发自定义函数 85

6.5.1 开发不带参数的Function过程 85

6.5.2 开发带有一个参数的Function过程 87

6.5.3 开发带有两个参数的Function过程 89

6.5.4 开发带有两个可选参数的Function过程 91

6.5.5 开发带有不确定参数的Function过程 93

6.5.6 开发具有三个参数且第三个为可选的Function过程 96

6.6 编写函数帮助 98

6.7 总结 103

第7章 对象的引用方式总结 104

7.1 VBA中的对象及结构 104

7.1.1 关于对象的相关概念 104

7.1.2 对象与对象集合 105

7.1.3 对象的层次:父对象与子对象 106

7.1.4 认识Excel所有对象 107

7.2 对象的表示法 108

7.2.1 对象的完整引用方式与简写 108

7.2.2 利用名称获取对象 108

7.2.3 利用集合索引号获取对象 109

7.2.4 活动对象的简化引用 110

7.2.5 利用With语句简化对象引用 111

7.2.6 事件中的Me关键字 112

7.3 单元格的各种引用方式 113

7.3.1 Range("A1")方式引用单元格 114

7.3.2 Cells(1,1)方式引用单元格 117

7.3.3 [a1]方式引用单元格 118

7.3.4 Range("A1")、Cells(1,1)与[a1]比较 118

7.3.5 Selection与ActiveCell:当前选区与活动单元格 120

7.3.6 Names:利用名称引用单元格或区域 121

7.3.7 UsedRange与CurrentRegion 123

7.3.8 SpecialCells:按条件引用区域 126

7.3.9 CurrentArray:引用数组区域 128

7.3.10 Resize:重置区域大小 129

7.3.11 Offset:根据偏移量引用区域 130

7.3.12 Union:单元格的合集 133

7.3.13 Intersect:单元格、区域的交集 135

7.3.14 End:引用源区域的区域尾端的单元格 137

第8章 让代码自动运行 141

8.1 让宏自动执行 141

8.1.1 Auto自动宏 141

8.1.2 工作簿事件中的自动宏 142

8.1.3 利用鼠标移动事件执行自动宏 143

8.2 详谈VBA的事件 144

8.2.1 事件的定义与分类 144

8.2.2 事件的层次和执行顺序 144

8.2.3 事件的禁用与启用 147

8.2.4 事件代码的录入方式 149

8.3 VBA有哪些事件 149

8.3.1 应用程序级别事件介绍 150

8.3.2 工作簿事件介绍 151

8.3.3 工作表事件介绍 153

8.3.4 事件的特例 153

第9章 编程规则与代码优化 155

9.1 代码编写规则 155

9.1.1 对代码添加注释 155

9.1.2 长代码分行 159

9.1.3 代码缩进对齐 160

9.1.4 声明有意义的变量名称 161

9.1.5 IF…End IF类配对语句的录入方式 162

9.1.6 录入事件代码的方式 163

9.1.7 借用自动列出成员录入代码 163

9.1.8 善用公共变量 164

9.1.9 将较大的过程分为多个再调用 164

9.1.10 减少过程参数 165

9.1.11 兼容Excel 2010和Excel 2003 165

9.2 优化代码 166

9.2.1 强制声明变量 166

9.2.2 善用常量 166

9.2.3 关闭屏幕更新 166

9.2.4 利用With减少对象读取次数 167

9.2.5 利用变量减少对象读取次数 168

9.2.6 善用带$的字符串处理函数 169

9.2.7 善用循环中的步长减少循环次数 169

9.2.8 利用数组代替单元格对象 170

9.2.9 不重复调用自定义函数时不使用自定义函数 172

9.2.10 将不改变值或者属性的语句放到循环语句外 172

9.2.11 利用长度计算判断单元格是否非空 173

9.2.12 尽量调用内置功能 173

9.2.13 利用对象循环替代单元格循环 174

第10章 常用语法剖析 175

10.1 输入、输出语句 175

10.1.1 Msgbox函数的功能及作用 175

10.1.2 Msgbox的语法 176

10.1.3 Msgbox函数的限制 180

10.1.4 利用WScript突破Msgbox限制 181

10.1.5 Debug.print 182

10.1.6 Inputbox函数的功能与作用 183

10.1.7 Inputbox函数的语法 183

10.1.8 借用Inputbox函数生成月历 186

10.1.9 Inputbox函数的限制 188

10.1.10 利用Application.Inputbox方法替代Inputbox函数 188

10.1.11 Application.Inputbox语法详解 188

10.2 条件判断语句 192

10.2.1 IIF函数的语法与应用 192

10.2.2 IIF函数的限制 195

10.2.3 IF…Then…语句的语法详解 196

10.2.4 IF…Then…应用案例 196

10.2.5 IF…Then…Else…语法与应用 198

10.2.6 条件语句的嵌套应用 200

10.2.7 Select Case语法详解 203

10.2.8 Select Case与IF… Then…Else之比较 207

10.2.9 借用Choose函数简化条件选择 208

10.3 循环语句 211

10.3.1 For Next语句 211

10.3.2 利用循环获取工作表目录 217

10.3.3 For Each Next语法详解 220

10.3.4 利用循环选择区域中所有负数 221

10.3.5 利用循环统一所有图片高度并对齐单元格 223

10.3.6 Do Loop语法详解 225

10.3.7 在工作表中循环获取所有字体 227

10.3.8 计算得分累加到1000时的场次 228

10.3.9 利用循环产生文字动画 229

10.4 With语句 231

10.4.1 With语句的用途与语法 231

10.4.2 With语句实例 234

10.4.3 With语句常见错误分析 236

10.5 错误处理语句 238

10.5.1 错误类型与原因 238

10.5.2 Err对象及其属性、方法 239

10.5.3 认识Error函数 239

10.5.4 罗列错误代码及含义 240

10.5.5 VBA的错误处理机制 241

10.5.6 错误处理:错误三次则退出程序 247

10.5.7 错误处理:多功能选区统计 248

10.5.8 错误处理的作用域 250

10.5.9 GoSub...Return语句 253

10.5.10 开发错误处理函数 255

第11章 基本编程应用案例 258

11.1 Application应用案例 258

11.1.1 英文单词排错 258

11.1.2 计算表达式 259

11.1.3 禁止程序运行时弹出警告框 260

11.1.4 调整计算方式 261

11.1.5 建立文件目录 262

11.1.6 在指定时间提示行程安排 264

11.1.7 模拟键盘快捷键 265

11.1.8 为过程指定组合键 267

11.1.9 合并区域 268

11.1.10 获取多区域的交集 270

11.1.11 滚动显示Excel状态栏信息 271

11.1.12 选定任意工作簿中的任意区域 272

11.2 Range对象应用案例 273

11.2.1 复制单元格数据 273

11.2.2 将区域中的数据合并到一个单元格中 275

11.2.3 多工作表数据合并,且添加边框 276

11.2.4 在区域中精确查找 278

11.2.5 替换不规则货品名称 280

11.2.6 多区域合并 281

11.2.7 反向选择单元格 282

11.2.8 插入图片并调整为选区大小 284

11.2.9 选择当前表已用区域的奇/偶数行 286

11.2.10 删除重复值 287

11.2.11 将选区导出为图片 289

11.2.12 选择本表所有合并单元格 291

11.2.13 朗读选区字符 292

11.2.14 隐藏所有公式结果为错误的单元格 293

11.2.15 快速添加日期批注且自动缩放 294

11.2.16 生成二级下拉选单 295

11.2.17 将产量批量转换成下拉菜单 297

11.3 Names对象应用案例 298

11.3.1 利用名称引用其他表数据 298

11.3.2 借用名称,将区域数据引用到组合框 300

11.3.3 设计三级下拉菜单 301

11.4 Comments 对象应用案例 304

11.4.1 批量将数据导入批注 304

11.4.2 在所有批注末尾添加指定日期 307

11.4.3 为批注设置图片背景 308

11.4.4 添加个性化批注 309

11.4.5 批量修改当前表批注的外观 312

11.4.6 替换所有批注中的“计算机”为“电脑” 313

11.5 Sheets对象应用案例 314

11.5.1 添加汇总工作表 314

11.5.2 除“目录”工作表外隐藏其他所有工作表 315

11.5.3 建立带链接功能的工作表目录,且通过快捷键返回目录 316

11.5.4 对当前表已用区域设置背景图片 318

11.5.5 批量命名工作表 319

11.6 Workbooks对象应用案例 320

11.6.1 新建工作簿并调用保存对话框 320

11.6.2 工作簿拆分 322

11.6.3 导入文本文件到当前工作簿 323

11.6.4 每30分钟备份工作簿 324

11.6.5 清除所有打开工作簿的密码 326

11.6.6 获取工作簿建立时间和最后一次保存时间 327

11.6.7 记录文件打开次数 328

11.6.8 设计一个查看一次即自动删除的工作簿 329

11.6.9 不打开工作簿而提取数据 330

11.6.10 将指定文件夹下每个工作簿中的三月生产表合并到一个工作簿 332

11.6.11 建立指定文件夹下所有工作簿目录和工作表目录 335

11.7 Windows 对象案例 337

11.7.1 切换当前窗口的网格线、滚动条、标题与工作表标签 337

11.7.2 自由滚动窗口方便阅读工作表数据 338

11.7.3 计算活动单元格左边距 340

11.7.4 三种方式不显示零值 341

11.8 程序级事件案例 343

11.8.1 新工作簿环境设计 343

11.8.2 打开任意工作簿时全自动备份 344

11.9 工作簿事件案例 345

11.9.1 新建工作表时自动设置页眉 345

11.9.2 未汇总则禁止关闭工作簿 346

11.9.3 新建工作表时以当前时间命名 347

11.9.4 月底以外时间禁止打印总表 347

11.9.5 禁止切换到其他工作簿 348

11.10 工作表事件案例 349

11.10.1 在状态栏提示最大值的单元格地址 349

11.10.2 快速录入出勤表 350

11.10.3 在状态栏显示选区的字母、数字、汉字个数 351

11.10.4 实时监控单元格每一次编辑的数据与时间 352

11.10.5 利用数字简化公司名输入 354

11.10.6 录入数据时自动跳过带公式的单元格 355

11.10.7 对选择区域进行背景着色 355

11.11 ActiveX控件事件案例 357

11.11.1 鼠标移过时切换按钮颜色 357

11.11.2 鼠标移动录入姓名 358

11.11.3 鼠标移过组合框时加载图片 359

11.11.4 鼠标移过列表框时输入品名与单价 360

第12章 数组基础 362

12.1 数组基础 362

12.1.1 数组概念 362

12.1.2 数据的维数 362

12.1.3 利用索引号获取数组中的元素 364

12.1.4 声明数组与赋值 365

12.1.5 静态数组与动态数组 366

12.2 内置数组函数 367

12.2.1 Array:创建一个数组 367

12.2.2 Isarray:判断是否是数组 368

12.2.3 Index:从数组中取值 368

12.2.4 Transpose:转置数组 368

12.2.5 LBound / Ubound:获取数组的上下界 371

12.2.6 Split/ Join:文本与数组转换 372

12.2.7 Filter:数组的筛选 373

第13章 数组实战 375

13.1 自定义数组函数 375

13.1.1 定义数组函数要点 375

13.1.2 获取工作表目录 375

13.1.3 星期序列 376

13.1.4 获取区域的唯一值 377

13.2 数组应用案例 378

13.2.1 按姓名排列的纵向学员表转置为按班级横向排列 378

13.2.2 表学员资料查询 379

13.2.3 定义百家姓序列 381

13.2.4 查询两列相同项 382

13.2.5 获取文件夹下所有文件详细信息 383

13.2.6 获取当前表所有批注 384

第14章 设计窗体 386

14.1 UserForm简介 386

14.1.1 窗体与控件的用途 386

14.1.2 插入窗体与控件的方法 386

14.1.3 使用Excel 5.0对话框 387

14.2 窗体控件一览 387

14.2.1 标签 387

14.2.2 文字框 388

14.2.3 命令按钮 388

14.2.4 复合框 388

14.2.5 列表框 388

14.2.6 复选框 388

14.2.7 单选框 388

14.2.8 分组框 388

14.2.9 切换按钮 388

14.2.10 多页控件 388

14.2.11 滚动条 389

14.2.12 图像 389

14.2.13 RefEdit 389

14.2.14 附加控件 389

14.3 设置控件属性 389

14.3.1 调整窗体控件位置与大小 389

14.3.2 设置控件的顺序 390

14.3.3 共同属性与非共同属性 390

14.3.4 设置颜色属性 390

14.3.5 设置高与宽属性 391

14.3.6 设置Picture属性 391

14.3.7 设置光标属性 391

14.3.8 设置复合框 392

14.3.9 设置Flash动画 392

14.4 窗体与控件的事件 393

14.4.1 窗体事件介绍 393

14.4.2 显示窗体时随机加载背景图 394

14.4.3 初始化窗体时填充列表框下拉列表 394

14.4.4 双击时关闭窗体 395

14.4.5 窗体永远显示在上左角 395

14.4.6 按比例缩放窗体及滚动窗体 396

14.4.7 控件事件介绍 398

14.4.8 在窗体中建立超链接 398

14.4.9 鼠标移过更新列表框数据 399

14.4.10 让输入学号的文字框仅能录入6位数字 400

14.4.11 鼠标拖动调整文字框大小 401

14.4.12 为窗体中所有控件设置帮助 403

14.5 窗体运用案例 405

14.5.1 设计登录界面 405

14.5.2 权限认证窗口 406

14.5.3 设计计划任务向导 408

14.5.4 设计动画帮助 411

14.5.5 用窗体浏览图片 412

14.6 窗体与表格的交互 414

14.6.1 设计多表录入面板 414

14.6.2 多条件高级查询 416

14.6.3 分类汇总捐赠额并按需求导出 418

14.6.4 输入长地名时逐一提示 419

第15章 表单控件与ActiveX控件 423

15.1 表单控件 423

15.1.1 控件的调出方式 423

15.1.2 表单控件的功能 423

15.1.3 表单工具的优缺点 423

15.1.4 案例:批量插入单选框并分组 423

15.2 ActiveX控件 425

15.2.1 ActiveX控件功能 425

15.2.2 利用列表框突破数据有效性的单列限制 425

15.2.3 在工作表中播放Flash动画 427

15.2.4 在工作表左上角播放GIF动画 427

15.2.5 在复合框显示数据源的唯一值 428

第16章 FSO、WScript与DOS 在VBA中的应用 431

16.1 认识FSO 431

16.1.1 FSO的用途与调用方式 431

16.1.2 FSO的对象 432

16.1.3 FSO常用对象的方法与属性 432

16.2 用FSO处理文件与目录 434

16.2.1 获取文件夹相关信息 434

16.2.2 删除D盘中大小为0的文件夹 434

16.2.3 获取C盘中所有文件列表 435

16.3 关于脚本语言WScript 435

16.3.1 关于脚本语言 435

16.3.2 WScript的方法与属性 436

16.3.3 WScript.Shell的使用方法 436

16.4 脚本语言应用案例 437

16.4.1 在桌面建立当前工作簿的快捷方式 437

16.4.2 将Excel 2003和Excel 2010添加到右键“发送到”菜单 437

16.4.3 显示桌面所有文件列表 438

16.4.4 关闭数字键及打开大写锁定键 439

16.4.5 提取选择的文件夹中所有文件的信息 439

16.4.6 打开网上邻居 440

16.4.7 在收藏夹中添加网址 441

16.5 VBA中调用DOS 441

16.6 DOS在VBA中的应用 442

16.6.1 获取CDE三个磁盘根目录中的目录列表 442

16.6.2 获取D盘中所有Excel文件 443

16.6.3 获取IP地址与网关设置 443

第17章 正则表达式与VBA 444

17.1 何谓正则 444

17.1.1 概念 444

17.1.2 特点 444

17.1.3 调用方式 445

17.2 语法基础 447

17.2.1 调用正则表达式的基本格式 447

17.2.2 正则表达式的参数 447

17.2.3 匹配的优先顺序 449

17.2.4 借用元字符强化搜索功能 450

17.3 正则表达式应用 467

17.3.1 乱序字符串取值并汇总 467

17.3.2 计算建筑面积 468

17.3.3 取括号中的数字 470

17.3.4 去除字符串首尾的空白字符 470

17.3.5 将字符串中的多段数字分列 471

17.3.6 获取Email地址 472

17.3.7 提取文件的路径与文件名 473

17.3.8 汇总人民币 474

17.3.9 开发分列函数 475

17.3.10 删除重复字词 476

第18章 字典的应用 478

18.1 Dictionary 对象基础 478

18.1.1 Dictionary对象的调用 478

18.1.2 Dictionary的特点 481

18.1.3 Dictionary的属性与方法 482

18.2 字典的应用技巧 485

18.2.1 开发取唯一值的函数 485

18.2.2 分类汇总 487

18.2.3 对多列数据相同者应用背景色 488

18.2.4 数据查询 489

18.2.5 保存与载入选区 490

第19章 命令栏对象与工具栏开发 494

19.1 关于内置命令栏 494

19.1.1 Excel对命令栏的处理方式 494

19.1.2 内置命令栏的分类 494

19.1.3 手工定义工具栏按钮 494

19.2 了解CommandBars对象 495

19.2.1 CommandBar的常用属性 495

19.2.2 CommandBar的方法 495

19.2.3 获取CommandBars子对象的名称与类型 495

19.2.4 获取及保存内置图标 496

19.3 创建与删除工具栏 498

19.3.1 建立工具按钮基本语法 498

19.3.2 自定义新工具栏案例:工作表目录 500

19.4 创建弹出式工具栏 501

19.4.1 创建弹出式工具栏语法结构 501

19.4.2 创建一个弹出式工具栏 502

19.4.3 创建三级工具栏 502

19.5 特殊的工具栏 503

19.5.1 创建可读写的弹出式工具栏 504

19.5.2 利用工具栏文字框查找数据 505

第20章 自定义菜单 507

20.1 菜单基础 507

20.1.1 菜单的分类 507

20.1.2 创建菜单基本语法 507

20.1.3 设计菜单注意事项 508

20.2 创建新菜单案例 508

20.2.1 创建关机与重启两个工作表菜单 508

20.2.2 由用户定义子菜单容器 509

20.3 设计感应菜单 510

20.3.1 在指定工作表才可用的菜单 510

20.3.2 在指定区域才可用的菜单 510

20.3.3 选择图表才出现的菜单 511

20.4 认识快捷菜单 512

20.4.1 快捷菜单的分类 512

20.4.2 获取Excel所有快捷菜单 512

20.4.3 Excel多版本中快捷菜单的差异 513

20.5 定制快捷菜单 513

20.5.1 创建单元格右键子菜单 513

20.5.2 设计左键快捷菜单 514

20.5.3 打造最强大的单元格右键菜单 516

20.5.4 在窗体中显示快捷菜单 517

第21章 认识类和类模块 519

21.1 类模块基础 519

21.1.1 类模块应用范围 519

21.1.2 类模块事件 519

21.1.3 类模块与变量 520

21.2 类的应用 520

21.2.1 程序级事件:在标题处显示工作簿路径 520

21.2.2 对所有工作表的选区背景着色 522

21.2.3 为窗体的按钮批量设置事件过程 523

21.2.4 开发颜色面板 524

第22章 API的基本应用 527

22.1 API在窗体设计中的应用 527

22.1.1 按任意地方都可拖动的窗体 527

22.1.2 设计半圆形动画窗体 528

22.1.3 资料录入完整鼠标才可以离开窗体的范围限制 529

22.1.4 拖动窗体随意修改窗体大小 531

22.1.5 设计百叶窗式动态窗体 532

22.1.6 在窗体中展示文字动画 533

22.2 API的其他应用 534

22.2.1 发送邮件 534

22.2.2 仿Photoshop设计彩蛋 536

22.2.3 让ActiveX控件在非设计模式下也能移动 537

22.2.4 将文件删除并存入回收站 537

第23章 VBA与注册表 539

23.1 VBA对注册表的控制方式 539

23.1.1 什么是注册表 539

23.1.2 VBA操作注册表的方法 540

23.1.3 VBA操作注册表的优缺点 541

23.1.4 借用脚本实现注册表的自由控制 541

23.2 注册表的应用 542

23.2.1 记录当前工作簿最后一次打开时间 542

23.2.2 限制工作簿使用次数 542

23.2.3 让零值显示设置适用所有工作表 543

23.2.4 禁止使用U盘 544

第24章 Ribbon功能区设计 546

24.1 功能区的特点 546

24.1.1 外型特点 546

24.1.2 调用特点 547

24.1.3 开发特点 548

24.2 准备工作 550

24.2.1 认识OfficeCustomUIEditor 550

24.2.2 OfficeCustomUIEditor的使用技巧 551

24.2.3 VBA与功能区的相互调用方式 552

24.3 基本语法 553

24.3.1 功能区元素图解 554

24.3.2 用模板提高定制功能区的效率 556

24.3.3 定制新功能区语法详解 558

24.3.4 在内置选项卡插入按钮 572

24.3.5 修改内置选项卡的名称 574

24.3.6 调用内置组和命令 575

24.3.7 锁定内置功能 575

24.3.8 使用回调函数控强化功能区 577

24.3.9 调用图片生成菜单 586

24.3.10 设计动态菜单 589

24.4 功能区开发精彩案例 594

24.4.1 开发内置图标查看器 594

24.4.2 在功能区设计动态时钟 596

24.4.3 开发汉化版图片另存插件 597

24.4.4 调用照相机与更改形状 600

24.4.5 在功能区创建工作表目录 601

第25章 VBE的对象模型与对象控制 604

25.1 准备工作 604

25.1.1 设置Excel选项 604

25.1.2 引用对象库 605

25.2 认识VBE的对象模型 605

25.2.1 VBE对象模型的层次结构 605

25.2.2 VBE对象介绍 605

25.2.3 如何引用VBE对象 607

25.2.4 罗列当前工程中所有组件及其类型 607

25.3 VBE对象的控制 608

25.3.1 罗列指定模块中所有过程的名称 608

25.3.2 罗列所有模块代码总行数 610

25.3.3 利用代码添加模块 611

25.3.4 用代码添加工作簿事件代码 612

25.3.5 创建ActiveX控件且编写单击事件代码 613

25.3.6 删除当前工作簿所有代码及窗体、模块组件 614

25.3.7 判断工作簿是否有宏代码 615

25.3.8 全自动生成窗体、控件及事件代码 616

第26章 程序开发思想 618

26.1 开发人员自我定位 618

26.1.1 区别开发人员与应用人员 618

26.1.2 开发人员基本条件 618

26.2 开发插件与普通VBA编程的区别 619

26.3 如何开发最佳应用程序 619

26.3.1 罗列应用程序需具备的功能 619

26.3.2 与终端用户交流 619

26.3.3 规划程序结构 620

26.3.4 设定友好的界面 620

26.3.5 提升程序通用性 620

26.3.6 注重程序效率 621

26.3.7 提供防错机制 621

第27章 开发VBA百宝箱 622

27.1 菜单定制基础 622

27.1.1 认识命令栏对象 622

27.1.2 创建命令栏基本语法 622

27.1.3 罗列VBE中所有菜单与子菜单 623

27.1.4 创建工具栏以统计模块中过程相关信息 624

27.2 开发VBA插件工具箱 626

27.2.1 开发插件的准备工作 626

27.2.2 罗列插件功能 626

27.2.3 开发代码编号工具 626

27.2.4 开发代码美化工具 628

27.2.5 开发代码导出工具 630

27.2.6 开发代码清除工具 632

27.2.7 开发代码减肥工具 632

27.2.8 编写菜单 634

27.2.9 发布插件 637

第28章 插件设计 639

28.1 关于加载宏 639

28.1.1 加载宏的特点 639

28.1.2 为什么使用加载宏 640

28.1.3 加载宏管理器 640

28.1.4 内置加载宏的加载与使用 640

28.1.5 安装与卸载自定义加载宏 641

28.2 关于加载项 641

28.2.1 加载项的分类 642

28.2.2 加载项的开发方式 642

28.2.3 两种加载项的安装方式 642

28.3 准备编写XLAM加载宏 644

28.3.1 认识Excel工作簿的格式 644

28.3.2 生成加载宏的两种方法 645

28.3.3 宏转换成加载宏的技巧 645

28.4 开发公农历日历控件 646

28.4.1 确认程序需具备的功能 646

28.4.2 定义公历转农历的函数 646

28.4.3 设计日期输入器窗体 647

28.4.4 编写窗体初始化代码 648

28.4.5 实现输入器与工作表交互 650

28.4.6 设计帮助 652

28.4.7 定制菜单 655

28.4.8 测试并发布插件 655

28.5 开发突出显示当前行列插件 656

28.5.1 确认所需具备的功能 657

28.5.2 通过xml开发功能区选项卡 657

28.5.3 编写随鼠标移动而着色的VBA代码 658

28.5.4 测试代码 662

第29章 代码封装技巧 664

29.1 封装基础 664

29.1.1 代码封装的优越性 664

29.1.2 COM加载项开发基础 664

29.1.3 安装VB 6.0企业版 665

29.1.4 开发COM加载项的基本步骤 666

29.2 开发并封装重复值控制器 668

29.2.1 确认插件所需功能 668

29.2.2 建立VB工程 669

29.2.3 添加引用 669

29.2.4 编写菜单代码及响应事件 669

28.6.5 编写重复值控制主程序 670

29.6.6 发布加载项并安装调试 671

29.3 封装相同项与不同项的比较工具 672

29.3.1 确认插件所需功能 673

29.3.2 在Excel中创建窗体并调试 673

29.3.3 建立VB工程 674

29.3.4 添加引用 674

29.3.5 生成功能区按钮与响引事件 674

29.3.6 导入窗体 675

29.3.7 发布加载项并安装调试 677

29.4 设计安装软件 678

29.4.1 设计安装软件的必要性 678

29.4.2 程序选择 678

29.4.3 使用程序向导制作安装软件 679

29.4.4 自定义高级安装软件 682

29.4.5 制作相同项与不同项的高级安装程序 684

第30章 开发“Excel百宝箱” 687

30.1 程序规划 687

30.1.1 了解终端用户需求 687

30.1.2 确认插件功能表 688

30.1.3 规划插件结构 688

30.2 财务工具箱 689

30.2.1 制作工资条头 689

30.2.2 根据工资计算所需钞票张数 692

30.2.3 小写金额转大写 696

30.2.4 工作簿与工作表合并 697

30.2.5 工作表拆分 707

30.2.6 工作簿拆分 711

30.2.7 复选框工具 715

30.2.8 文本与数据转换 719

30.3 合并工具箱 720

30.3.1 合并数据并居中及其还原 721

30.3.2 合并数据并复制 723

30.3.3 取消区域合并填充原合并值 725

30.3.4 可还原的合并居中 726

30.3.5 合并列中相同数据及还原 727

30.4 批注工具箱 729

30.4.1 批注管理器 730

30.4.2 添加个性化批注 734

30.4.3 建立图片批注 735

30.4.4 批量添加右列内容为批注 737

30.4.5 批量导入同名照片到批注 737

30.5 图片工具箱 740

30.5.1 将选区转换成图片 740

30.5.2 批量导入图片 742

30.5.3 批量导出图片到硬盘 745

30.6 开发函数 747

30.6.1 开发自定义函数 747

30.6.2 设计函数帮助 766

30.7 定制百宝箱帮助 769

30.7.1 定制百宝箱帮助 769

30.7.2 信息反馈 775

30.8 定制多级菜单并发布 777

30.8.1 定制菜单 777

30.8.2 发布 778

30.8.3 小结 778

相关推荐

微信二维码