Excel VBA专业开发
发布日期:2015-10-14浏览:3013
-
课程时长
12 H课程大纲
第1章 绪论
第2章 应用程序的结构
2.1 基本概念
2.1.1 无编码的应用程序
2.1.2 自动化工作簿
2.1.3 函数和通用加载宏
2.1.4 特定程序中的加载宏
2.1.5 独立式应用程序
2.1.6 可用的技术
第3章 Excel与VBA开发的最佳实践
3.1 命名规则
3.1.1 命名规则及其重要性
3.1.2 一个命名规则的样本
3.1.3 命名规则示例
3.1.4 过程
3.1.5 模块.类和用户窗体
3.1.6 工作表和图表
3.1.7 VisualBasic工程
3.1.8 Excel用户接口的命名规则
3.1.9 不必使用命名规则的特殊情况
3.2 关于程序结构与组织的最佳实践
3.2.1 应用程序的结构
3.2.2 过程化应用程序的组织
3.3 关于应用程序开发的最佳实践
3.3.1 代码中的注释
3.3.2 代码的可读性
3.3.3 VBA编程实践
3.3.4 控件的更新
第4章 工作表的设计
4.1 工作表用户接口设计的原则
4.2 程序行和程序列:用户接口设计的基本技术
4.3 预定义名称
4.3.1 命名常量
4.3.2 命名区域
4.3.3 命名公式
4.3.4 预定义名称的作用范围
4.4 样式
4.4.1 样式的优点
4.4.2 创建和使用样式
4.4.3 修改样式
4.4.4 在工具栏中添加样式下拉框
4.5 用户接口中的画图技术
4.5.1 使用边框创建特殊效果
4.5.2 创建具有良好格式的表格
4.5.3 显示帮助文本的单元格批注
4.5.4 使用图形
4.6 数据检验
4.6.1 数据的唯一性检验
4.6.2 级联列表
4.7 条件格式
4.7.1 创建动态表
4.7.2 警示错误
4.8 在工作表中使用控件
4.8.1 窗体控件的优点
4.8.2 Active控件的优点
4.9 实例分析
4.9.1 隐藏行和列
4.9.2 预定义名称
4.9.3 样式
4.9.4 用户接口的绘图技术
4.9.5 数据检验
4.9.6 条件格式
第5章 函数.通用加载宏和特定应用的加载宏
5.1 应用程序的四个阶段
5.1.1 开发和维护
5.1.2 启动
5.1.3 运行
5.1.4 关闭
5.2 函数库加载宏
5.2.1 用户自定义函数(UDF)示例
5.2.2 UDF的命名规则
5.2.3 让UDF看起来更像内部函数
5.2.4 为函数库加载宏创建友好的名称和描述信息
5.2.5 关于UDF的一些重要细节
5.2.6 VBAUDF问题
5.3 通用加载宏
5.4 特定应用的加载宏
5.4.1 使用表驱动的方法管理工作表用户接口(UI)
5.4.2 使用VBA动态修改用户接口工作表
5.5 实例分析
5.5.1 特性
5.5.2 打开和初始化应用程序
5.5.3 构建工具栏
5.5.4 打开和初始化Time-Entry工作簿
5.5.5 将Time-Entry工作簿副本保存到设定好的数据合并区
5.5.6 允许用户向Time-Entry工作表添加更多的数据输入行
5.5.7 允许用户清除数据输入区中的数据,107以便重新使用Timesheet
5.5.8 允许用户关闭PETRAS应用程序
5.5.9 添加自定义属性以便合并应用程序能找到所有的Time-Entry工作簿进程
5.5.10 应用程序的组织
第6章 独立式应用程序
6.1 独立式应用程序的结构
6.1.1 启动与关闭
6.1.2 自定义用户界面
6.1.3 处理与分析
6.1.4 显示结果
6.2 实例分析
6.2.1 PETRASTimesheet
6.2.2 PETRAS报表
第7章 使用类模块创建对象
7.1 创建对象
7.1.1 类模块的结构
7.2 创建集合
7.2.1 创建集合对象
7.2.2 用地址表示类集合的不足
7.3 捕获事件
7.4 引发事件
7.4.1 家庭关系问题
7.4.2 创建触发类
7.5 实例分析
7.5.1 PETRASTimesheet
7.5.2 PETRAS报表
第8章 命令栏高级应用
8.1 命令栏的设计
8.2 表驱动命令栏
8.2.1 表驱动命令栏构建器简介
8.2.2 命令栏定义表
8.3 将它们组合在一起
8.3.1 在工作表菜单栏中添加带子菜单的自定义菜单
8.3.2 添加自定义工具条
8.3.3 添加自定义右击命令栏
8.4 从文件中加载自定义图标
8.4.1 创建用于图标和掩码的位图文件
8.4.2 将位图文件作为命令栏按钮的图标
8.5 钩住命令栏控件事件
8.5.1 为什么要使用事件钩挂
8.5.2 事件钩挂的用途
8.5.3 Tag属性的重要性
8.5.4 选择性粘贴命令栏
8.6 实例分析
8.6.1 PETRASTimesheet
8.6.2 PETRAS报表
第9章 理解和使用WindowsAPI
9.1 概述
9.1.1 查找文档
9.1.2 查找声明
9.1.3 查找常量的值
9.1.4 理解句柄
9.1.5 封装API调用
9.2 与屏幕相关的操作
9.2.1 读取屏幕分辨率
9.2.2 查看像素的尺寸
9.3 与窗口相关的操作
9.3.1 窗口类
9.3.2 获取窗口
9.3.3 查找相关的窗口
9.3.4 窗口消息
9.3.5 更改窗口的图标
9.3.6 改变窗体样式
9.4 与键盘相关的操作
9.4.1 检验Shift键、Ctrl键、Alt键、Caps Lock键、NumLock键和
Scroll Lock键的状态
9.4.2 检测某个键是否被按下
9.5 与文件系统和网络相关的操作
9.5.1 查找用户ID
9.5.2 改变至UNC路径
9.5.3 查找指定的文件夹
9.5.4 将文件删除到回收站中
9.5.5 浏览文件夹
9.6 实例分析
9.6.1 PETRASTimesheet
9.6.2 PETRAS报表
第10章 用户窗体设计与最佳实践
10.1 基本原则
10.1.1 简单化
10.1.2 显示界面,191而非业务规则
10.1.3 使用类,192而非默认的实例
10.1.4 提供属性和方法,193而非控件
10.2 控件基础
10.2.1 命名
10.2.2 分层
10.2.3 位置
10.2.4 Tab次序和加速键
10.2.5 数据绑定
10.2.6 事件处理
10.2.7 检验
10.3 可视效果
10.3.1 用户窗体的窗口样式
10.3.2 使关闭按钮不可用
10.3.3 在用户窗体上显示图形、图表和艺术字等
10.3.4 锁定与禁用控件
10.3.5 弹出式菜单
10.4 用户窗体的位置和尺寸
10.4.1 靠近单元格的布置
10.4.2 响应不同的分辨率
10.4.3 可调整尺寸的用户窗体
10.4.4 分隔栏
10.5 向导
10.5.1 向导对话框的设计规则
10.5.2 创建一个向导对话框
10.6 动态窗体
10.6.1 用户窗体中的控件子集
10.6.2 代码创建和表驱动的窗体
10.6.3 滚动区域
10.6.4 动态控件事件处理和控件数组
10.7 非模态用户窗体
10.7.1 闪现屏幕
10.7.2 进度条
10.7.3 与菜单项组合在一起
10.8 特殊控件
10.8 1组合框
10.8.2 Windows通用控件
10.9 实例分析
10.9.1 PETRASTimesheet
0.9.2 PETRAS报表
第11章 接口
11.1 什么是接口
11.2 代码重用
11.3 定义自定义接口
11.4 自定义接口的实现
11.5 自定义接口的使用
11.6 多态类
11.7 提高健壮性
11.8 简化开发
11.8.1 进度条
11.9 插入式结构
11.10 实例分析
11.10.1 PETRASTimesheet
11.10.2 PETRAS报表
第12章 VBA错误处理..
12.1 错误处理的概念
12.1.1 未处理错误与已处理错误的比较
12.1.2 Err对象
12.1.3 何为错误处理器
12.1.4 错误处理器的作用域
12.1.5 OnError语句
12.1.6 Resume语句
12.1.7 产生自定义错误
12.2 单个退出点原则
12.3 简单错误处理
12.4 复杂错误处理器的结构
12.4.1 过程错误处理器
12.4.2 不重要过程
12.5 中央错误处理器
12.6 类和用户窗体中的错误处理
12.6.1 Initialize和Activate事件
12.6.2 Terminate事件
12.7 把它们结合在一起
12.8 实例分析
12.8.1 PETRASTimesheet
12.8.2 PETRAS报表应用程序
第13章 数据库编程
13.1 数据库简介
13.1.1 为什么使用数据库
13.1.2 关系数据库
13.1.3 基于文件的数据库和客户机-服务器数据库
13.1.4 规范化
13.1.5 什么时候不必规范化
13.1.6 关系与参照完整性
13.1.7 固有的主关键字和人为的主关键字
13.2 设计数据访问层
13.3 用SQL和ADO进行数据存取
13.3.1 ActiveXData
13.3.2 ADO对象
13.3.3 连接数据源
13.3.4 数据存取技术
13.4 进一步学习
13.5 实例分析
13.5.1 PETRASTimesheet
13.5.2 PETRAS报表
第14章 数据处理技术
14.1 Excel的数据结构
14.1.1 非结构化区域
14.1.2 结构化区域
14.1.3 Excel2003的列表
14.1.4 查询表
14.2 数据处理功能
14.2.1 处理的不仅仅是数据
14.2.2 数据透视表缓存
14.2.3 数据透视表
14.2.4 数据合并
14.2.5 高级筛选
14.3 高级函数
14.3.1 数据库函数
14.3.2 数组公式
14.3.3 循环引用
第15章 高级图表技术
15.1 基本技术
15.1.1 组合图表类型
15.1.2 使用多个坐标轴
15.1.3 使用预定义名称来建立图表与数据的连接
15.1.4 伪造它
15.2 VBA技术
15.2.1 在图表坐标系之间进行转换
15.2.2 定位图表对象
15.2.3 计算合理的坐标比例
第16章 VBA调试
16.1 基本的VBA调试技术
16.1.1 运行模式和中断模式
16.1.2 调试模式
16.1.3 使用断点(F9)
16.1.4 单步执行代码
16.1.5 改变执行点或设置下一条语句(Ctrl+F9)
16.2 立即窗口(Ctrl+G)
16.2.1 Debug.Print
16.2.2 充分利用立即窗口
16.3 调用堆栈(Ctrl+L)
16.4 监视窗口
16.4.1 设置基本的监视
16.4.2 使用基本的监视
16.4.3 监视类型
16.4.4 监视窗口中的数组.用户自定义类型(UDT)和类
16.4.5 快速监视(Shift+F9)
16.5 本地窗口
16.6 对象浏览器(F2)
16.6.1 基本特征
16.6.2 高级特征
16.7 创建和运行“测试桩”
16.8 使用断言
16.9 程序开发者应当知道的调试快捷键
16.9.1 通用
16.9.2 调试模式的代码执行
16.9.3 导航
16.9.4 信息
第17章 优化VBA的性能
17.1 测量性能
17.2 PerfMon实用工具
17.3 创造性思维
17.3.1 做拼图游戏
17.3.2 确定步骤
17.3.3 站在盒子外思考
17.3.4 打破规则
17.3.5 了解数据
17.3.6 提出问题
17.3.7 了解工具
17.4 宏观上的优化
17.4.1 预处理
17.4.2 检查阶数
17.4.3 收紧循环
17.4.4 快速VBA算法
17.5 在微观上的优化
17.5.1 VBA
17.5.2 Excel
第18章 控制其他Office应用程序
18.1 基本原理(相关知识)
18.1.1 自动化
18.1.2 引用
18.1.3 开发中的技巧
18.1.4 vTable表.前期绑定和后期绑定
18.1.5 处理应用程序实例
18.1.6 性能分析
18.2 主要Office程序的对象模型
18.2.1 Aess和数据存取对象
18.2.2 Word应用程序
8.2.3 PowerPoint和MSGraph
18.2.4 Outlook
18.2.5 进一步学习
18.3 实例分析
第19章 XLL和CAPI函数
19.1 为什么需要创建基于XLL的工作表函数
19.2 在Visual Studio中创建XLL工程
19.3 XLL的结构
19.3.1 函数表
19.3.2 DLLMain函数
19.3.3 标准XLL回调函数
19.3.4 其他的XLL回调函数
19.4 XLOPER和OPER数据类型
19.5 Excel4函数
19.6 常用的CAPI函数
19.6.1 xlFree
19.6.2 xlCoerce
19.6.3 xlGetName
19.7 XLOPER变量和内存管理
19.8 自定义工作表函数的注册和取消
19.9 函数应用举例
19.1 工作表函数的调试
19.11 其他相关事项
19.11.1 COM自动化用户应该注意的事项
19.11.2 C++关键字与XLOPER定义的冲突
19.12 其他资源
19.12.1 MSDN中的Excel 97 SDK
19.12.2 用C/C++开发Excel加载宏:在金融领域的应用
19.12.3 WilliamHooper的网站
19.12.4 LaurentLongre的网站(法语网站)
19.12.5 微软的Excel公共新闻组
19.12.6 PlanatechXLL+
19.12.7 KeithLewis的资源软件“Object-Oriented
19.12.8 ManagedXLL
9.13 本章小结
第20章 Excel和VisualBasi
20.1 创建一个Hello World的A tiveX DLL
20.1.1 创建一个A tiveX DLL工程
20.1.2 最简单的单向通信程序
20.1.3 更复杂一些的双向通信程序
20.1.4 在Excel显示VB6窗体
20.2 为什么要在ExcelVBA工程中使用VB6 A tiveX
20.2.1 代码保护功能
20.2.2 利用VB6窗体
20.2.3 更好地支持面向对象程序设计
20.2.4 资源文件
20.2.5 其他的VB6特性
20.3 进程内通信与进程外通信
20.3.1 进程内通信
20.3.2 进程外通信
20.4 在VB6EXE程序中以自动化方式使用Excel
20.4.1 以自动化方式使用Excel的简单程序
20.4.2 使用VB6EXE作为Excel应用程序的加载器
20.5 实例分析
20.5.1 在AtiveX
20.5.2 使用标准EXE程序作为Excel应用程序的加载器
第21章 使用VisualBasi
21.1 HelloWorld加载宏
21.2 宏设计器
21.2.1 General页
21.2.2 Advanced页
21.3 COM加载项的安装
21.4 AddinInstance对象中的事件
21.4.1 Initialize
21.4.2 OnConnection
21.4.3 OnStartupComplete
21.4.4 OnAddInsUpdate
21.4.5 OnBeginShutdown
21.4.6 OnDisconnection
21.4.7 Terminate
21.5 命令栏的处理
21.5.1 使用命令栏事件挂钩
21.5.2 永久菜单项和临时菜单项
21.5.3 永久菜单结构
21.5.4 临时菜单结构
21.5.5 自定义工具栏的界面
21.5.6 选择性粘贴栏的COM加载项
21.6 为什么要使用COM加载项
21.6.1 进一步提高了代码的安全性
21.6.2 能与多个应用程序通信的COM加载项
21.6.3 使用独立的线程
21.7 自动化加载宏集合
21.7.1 创建IfError的自动化宏
21.7.2 使用IfError自动化宏
21.7.3 在自动化加载宏中访问Excel应用程序对象
21.8 实例分析
第22章 使用VB.NET和VisualStudio的Office工具
22.1 概述
22.1.1 目标用户
22.1.2 VSTO是什么
22.1.3 NET是如何与Office交互工作的
22.1.4 VBA过时了吗
22.1.5 相关术语
22.2 如何发挥.NET框架的杠杆作用
22.3 托管工作簿
22.3.1 相关概念
22.3.2 HelloWorld的托管工作簿
22.3.3 默认的VSTO模板
22.3.4 ProExcelVSTO模板
22.3.5 共享命令栏
22.4 托管的Excel加载宏集合
22.4.1 选择性粘贴栏的VSTO加载宏
22.5 VBA/VSTO的混合解决方案
22.6 VSTO安全模型
22.6.1 强名机制
22.6.2 强名中存在的风险
22.6.3 创建和使用强名
22.6.4 对强名的信任
22.6.5 Caspol
22.7 一些值得注意的问题
22.7.1 功能上的不足
22.7.2 应用程序的连接
22.7.3 区域性问题
22.7.4 安全性和共享托管的工作簿
22.7.5 对VBA进行移植
2.7.6 Office的版本
22.8 进一步学习的资料
22.9 实例分析
22.9.1 PETRASTimesheet加载宏
22.9.2 PETRAS报表应用程序
第23章 Excel.XML和Web服务
23.1 XML
23.1.1 XML文件示例
23.1.2 XSD文件示例
23.1.3 Excel2003的XML特性概述
23.1.4 一个简单的金融模型
23.1.5 创建XML方案定义文件
23.1.6 XML映射
23.1.7 导出和导入XML数据
23.1.8 XML对象模型和事件
23.1.9 早期版本中的XML支持
23.1.10 使用命名空间
23.2 Web服务
23.2 1用VB.NET创建Web服务
23.2.2 使用Web服务
23.3 实例分析
23.3.1 PETRASWeb服务
23.3.2 PETRASTimesheet
23.3.3 PETRAS报表应用程序
第24章 帮助、安全、打包和发布
24.1 为应用程序提供帮助
24.1.1 概述
24.1.2 开始设计帮助文件
24.1.3 编写帮助内容
24.1.4 在VBA中显示帮助
24.2 安全
24.2.1 Excel的安全性
24.2.2 检查网络分组
24.2.3 宏安全性和数字签名
24.2.4 数字签名的替代方法
24.3 打包
24.3.1 安装位置
24.3.2 安装要求
24.3.3 安装方式
24.4 发布
24.4.1 初始版本
24.4.2 升级
24.4.3 主页号码(PhoneHome)