𝔖 Scriptorium
✦   LIBER   ✦

📁

Excel VBA与VSTO基础实战指南

✍ Scribed by 罗刚君


Publisher
电子工业出版社
Year
2017
Tongue
Chinese
Leaves
528
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


《Excel VBA与VSTO基础实战指南》属于学习Excel VBA的初中级教材,重点阐述了Excel VBA的基本理论、代码自动化以及开发Excel插件的思路。通读《Excel VBA与VSTO基础实战指南》可以轻松应对制表工作中的疑难,同时还可以开发商业插件。

《Excel VBA与VSTO基础实战指南》包括五部分内容,开头部分简述自动化操作的意义和成果展示;第二部分详细剖析VBA 的所有基础概念,包含代码的存放位置、写书方式、调用方式,认识对象、属性、方法与事件,以及理解变量、常量与数据类型并且掌握循环语句、条件语句、防错语句等知识;第三部分是VBA的高级应用,包含数组、窗体、字典、功能区设计、插件开发和撤销代码等知识;第四部分介绍通过VSTO开发Excel插件;第五部分提供365个VBA常见疑难解答。

《Excel VBA与VSTO基础实战指南》每段代码都有思路分析,且对每句代码都提供了代码含义的详细注释,力求使讲解过程可以更加精准,让代码更易理解,为读者提供更优秀的阅读体验。

《Excel VBA与VSTO基础实战指南》提供读者交流群,QQ群号:47700194。读者在阅读过程中有任何疑问可以加群参与讨论,同时也可以在群里下载随书案例文件和所有课后练习题的答案。

✦ Table of Contents


扉页
版权页
前 言
目 录
第1章 自动化操作
1.1 自动化操作的价值
1.1.1 自动化操作的必要性
1.1.2 实现自动化操作的两个途径
1.2 利用宏简化日常工作
1.2.1 三分钟学会录制宏
1.2.2 执行宏的方法
1.2.3 两种方法读懂宏代码
1.2.4 宏的优缺点分析
1.2.5 如何发挥宏的长处
1.3 使用VBA强化Excel功能
1.3.1 追根溯源:什么是VBA
1.3.2 知己知彼:解析VBA的优缺点
1.3.3 窥斑见豹:从一个案例初识VBA
1.4 Excel VBA的发展前景
1.4.1 简化工作
1.4.2 开拓专业
1.5 课后思考
第2章 代码应用基础
2.1 区分VBE代码窗口
2.1.1 认识VBE窗口
2.1.2 最常用的代码存放区:标准模块
2.1.3 工作簿事件代码窗口:ThisWorkbook
2.1.4 工作表事件代码窗口:Sheet1
2.1.5 窗体代码窗口:UserForm1
2.1.6 创建隐藏对象的代码窗口:类模块
2.2 录入代码
2.2.1 代码的存放位置
2.2.2 写入代码的方式
2.2.3 提升代码的可读性
2.2.4 调用快速信息
2.3 四种代码执行方式
2.3.1 调用快捷键
2.3.2 单击按钮执行
2.3.3 自动执行
2.3.4 在公式中调用
2.4 保存代码
2.4.1 修改文件的保存格式
2.4.2 一劳永逸
2.5 让代码畅通无阻
2.5.1 调整宏的安全等级
2.5.2 添加受信任位置
2.5.3 将代码封装为加载项
2.6 反复调用相同代码
2.6.1 使用个人宏工作簿
2.6.2 加载宏
2.6.3 加载项
2.7 课后思考
第3章 从概念开始认识VBA
3.1 认识过程
3.1.1 过程的分类
3.1.2 Sub过程的基本语法
3.1.3 Sub过程的命名要求
3.1.4 Sub过程的调用方法与访问限制
3.1.5 过程的执行顺序
3.1.6 过程的递归
3.2 关于参数
3.2.1 参数的存在价值
3.2.2 过程名称中的参数
3.2.3 参数的赋值方式
3.2.4 可选参数与必选参数
3.2.5 代码中的参数
3.3 理解对象
3.3.1 什么是对象
3.3.2 对象的引用层次
3.4 对象的属性与方法
3.4.1 认识属性与方法
3.4.2 自动调用属性与方法
3.4.3 怎样才算完整的VBA语句
3.5 对象的事件
3.5.1 什么是事件
3.5.2 事件的存在价值
3.5.3 事件的分类与代码录入方式
3.5.4 事件的参数
3.6 课后思考
第4章 对象及其层次结构
4.1 查看所有对象
4.1.1 从对象浏览器查看对象
4.1.2 从帮助中调用对象的详细信息
4.2 对象的层次与引用方式
4.2.1 对象的层次
4.2.2 使用对象名称引用对象
4.2.3 使用复数形式表示对象集合
4.2.4 使用序号参数引用集合中的子对象
4.2.5 引用子对象
4.2.6 引用活动对象
4.2.7 引用父对象
4.2.8 利用With语句引用重复出现的对象
4.3 Range对象
4.3.1 Range("A1")引用方式
4.3.2 Cells(1,1)引用方式
4.3.3 [A1]引用方式
4.3.4 活动单元格:ActiveCell
4.3.5 屏幕坐标下的单元格:RangeFromPoint
4.3.6 选区:Selection、RangeSelection
4.3.7 已用区域:UsedRange
4.3.8 当前区域:CurrentRegion
4.3.9 按条件引用区域:SpecialCells
4.3.10 模拟End+方向键产生的单元格:End
4.3.11 按偏移量重置区域引用:Offset
4.3.12 按宽度与高度重置区域:Resize
4.3.13 引用多区域的合集:Union
4.3.14 引用多区域的交集:Intersect
4.4 图形对象
4.4.1 Shapes对象与子对象
4.4.2 图形对象的名称
4.4.3 DrawingObjects
4.4.4 图形对象的类别子集
4.5 表对象
4.5.1 表的合集与子对象
4.5.2 表对象的分类
4.5.3 活动表
4.5.4 隐藏工作表的特性
4.5.5 引用名字为数值的工作表的技巧
4.6 工作簿对象
4.6.1 工作簿合集与子对象
4.6.2 活动工作簿
4.6.3 关于后缀名
4.6.4 关于工作簿格式
4.7 Excel应用程序对象
4.7.1 Excel的顶层对象:Application
4.7.2 调用子对象时可以省略Application吗
4.7.3 不同版本的Excel之间的差异
4.8 课后思考
第5章 揭密数据类型与变量、常量
5.1 数据类型
5.1.1 区分数据类型的必要性
5.1.2 数据类型的分类
5.1.3 转换数据类型
5.2 定义变量
5.2.1 变量的用途
5.2.2 定义变量的方法
5.2.3 变量的命名规则
5.2.4 变量的作用域
5.2.5 变量的生命周期
5.2.6 静态变量与动态变量的区别
5.2.7 声明对象变量
5.2.8 对象变量的初始化与释放
5.3 定义常量
5.3.1 常量的用途
5.3.2 常量的定义方式
5.3.3 变量与常量的异同分析
5.4 课后思考
第6章 条件语句与循环语句
6.1 If语句解析
6.1.1 条件语句的重要性
6.1.2 If...Then...Else的单行模式
6.1.3 And、Or和Not在条件语句中的作用
6.1.4 案例解析:指定工作簿的最后开启日期
6.1.5 If...Then...Else的块形式
6.1.6 块形式的应用案例:创建日期批注
6.1.7 嵌套使用If语句
6.1.8 If语句的常见错误与防错之法
6.2 Select Case语句解析
6.2.1 Select Case语句的价值
6.2.2 Select Case基本语法
6.2.3 多条件应用案例
6.3 IIf函数
6.3.1 IIf函数语法解析
6.3.2 IIf函数案例应用:判断Excel的版本号
6.3.3 IIf函数的优缺点
6.4 For Next语句解析
6.4.1 循环语句的作用
6.4.2 For Next语句基本语法
6.4.3 步长值对循环结果的影响
6.4.4 For Next循环语句应用案例
6.5 For Each…Next语句解析
6.5.1 遍历对象集合
6.5.2 For Each…Next语句基本语法
6.5.3 For Each…Next语句应用案例:定位大于某值的单元格
6.6 Do Loop语句解析
6.6.1 Do Loop语法分析
6.6.2 Do Loop语法一应用
6.6.3 Do Loop语法二应用
6.6.4 Do Loop语法三应用
6.6.5 Do Loop语法四应用
6.6.6 总结三种循环语句的优缺点
6.7 课后思考
第7章 四类常见对象的应用案例
7.1 单元格对象
7.1.1 选择单元格
7.1.2 筛选与复制区域的值
7.1.3 多区域复制
7.1.4 选择性粘贴数据
7.1.5 重置已用数据区域
7.1.6 查找所有成绩为100的单元格
7.1.7 将表示平方米和立方米后面的2和3设为上标
7.1.8 合并相邻且相同的单元格
7.1.9 按行合并且保留所有数据
7.1.10 隔行插入行
7.1.11 标示选区中的重复值
7.2 图形对象
7.2.1 批量导入图片与图片名称
7.2.2 统一表中所有图片大小及对齐图片
7.2.3 插入图片到选区中
7.2.4 插入带图片背景的批注
7.3 工作表对象
7.3.1 显示所有隐藏的工作表
7.3.2 创建以本月每日日期命名的工作表
7.3.3 保护所有公式
7.3.4 批量重命名表
7.3.5 查找所有工作表中有循环引用的单元格
7.3.6 对职工表按学历排序
7.3.7 创建工作表目录
7.4 工作簿对象
7.4.1 打开带密码且带有自动宏的工作簿
7.4.2 另存工作簿且以今天的日期命名
7.4.3 将外部链接转换成值
7.4.4 关闭工作簿且不保存修改内容
7.4.5 定时保存且备份工作簿
7.4.6 重命名活动工作簿
7.5 课后思考
第8章 深入剖析VBA的各种事件
8.1 事件的级别与顺序
8.1.1 事件的级别与代码保存位置
8.1.2 事件的执行方式
8.1.3 事件的执行顺序
8.2 禁用与启用事件
8.2.1 临时关闭事件
8.2.2 防止事件的连锁反应
8.3 工作表事件详解
8.3.1 工作表事件列表
8.3.2 Change事件的特例
8.3.3 事件案例:激活工作表时验证访问权限
8.3.4 事件案例:自动标示当前行的背景
8.3.5 事件案例:双击单元格时选中所有相同值
8.3.6 事件案例:在特定区域右击单元格时产生工作表目录
8.3.7 事件案例:输入表达式时在右列自动返回计算结果
8.3.8 事件案例:单击目录时可打开隐藏的工作表
8.3.9 事件案例:实时保护已录入数据的单元格
8.3.10 事件案例:在状态栏显示当前科目的不及格人数
8.3.11 事件案例:通过数据有效性的下拉列表调用对应的图片
8.4 工作簿事件详解
8.4.1 工作簿事件列表
8.4.2 事件案例:记录工作簿打开次数
8.4.3 事件案例:显示活动工作表中的产量达标率
8.4.4 事件案例:保存工作簿时备份文件
8.4.4 事件案例:打印数据前检查资料是否填写完整
8.4.5 事件案例:保存工作簿时更新工作表目录
8.4.6 事件案例:新建工作表时调用模板格式
8.4.7 事件案例:禁止修改总表名称
8.4.8 事件案例:新建图表时自动设置为阴影、圆角
8.5 应用程序级事件详解
8.5.1 应用程序与类
8.5.2 事件案例:打开任意工作簿时创建工作表目录
8.5.3 事件案例:新建工作簿时自动保存
8.6 按时间执行代码
8.6.1 OnKey方法的语法分析
8.6.2 创建计划任务
8.7 课后思考
第9章 处理代码错误
9.1 代码错误类型分析
9.1.1 版本问题
9.1.2 参数赋值不当
9.1.3 变量定义不准确
9.1.4 对象不存在
9.2 错误处理语句
9.2.1 详解Err对象
9.2.2 Error函数详解
9.2.3 On Error Resume Next语句
9.2.4 On Error GoTo Line语句
9.2.5 On Error GoTo 0语句
9.2.6 Gosub...Return语句
9.3 案例应用
9.3.1 处理错误的常规思路
9.3.2 案例应用:按条件定位单元格
9.3.3 案例应用:根据选区的文件名批量导入图片
9.3.4 案例应用:一键屏蔽错误值
9.4 课后思考
第10章 使用数组提升程序效率
10.1 基本概念
10.1.1 何为数组
10.1.2 数组的特点
10.1.3 一维数组
10.1.4 二维数组
10.1.5 数组的参数
10.1.6 声明数组变量
10.1.7 动态数组与静态数组的区别
10.1.8 释放动态数组的存储空间
10.2 数组函数
10.2.1 用函数创建数组
10.2.2 获取数组元素
10.2.3 判断变量是否为数组
10.2.4 转置数组
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.3.6 获取两列数据的相同项
10.3.7 罗列至少三科不及格的学生姓名
10.4 课后思考
第11章 集合与字典的应用
11.1 Collection:集合
11.1.1 集合的特性
11.1.2 集合的语法
11.1.3 使用集合获取区域中的不重复值
11.1.4 罗列B列重复出现的身份证号码
11.2 Dictionary:字典
11.2.1 字典对象的前期绑定和后期绑定
11.2.2 字典的特点
11.2.3 字典的属性与方法
11.2.4 获取选区中的唯一值
11.2.5 对采购表分类求和
11.2.6 对采购表分类计数
11.2.7 对产量表按组别和产品分类统计
11.3 课后思考
第12章 设计程序窗体
12.1 窗体与控件简介
12.1.1 窗体的功能
12.1.2 创建与运行UserForm对象
12.1.3 使用工具箱
12.1.4 标签控件
12.1.5 文本框控件
12.1.6 命令控钮
12.1.7 复合框
12.1.8 列表框
12.1.9 复选框
12.1.10 选项按钮
12.1.11 框架
12.1.12 切换按钮
12.1.13 多页控件
12.1.14 滚动条
12.1.15 图像控件
12.1.16 Flash控件
12.2 设置属性
12.2.1 属性窗口的用途
12.2.2 设置属性的两种方式
12.2.3 文本框属性
12.2.4 命令按钮属性
12.2.5 复选框属性
12.2.6 列表框属性
12.2.7 复合框属性
12.2.8 图像控件属性
12.2.9 Flash控件属性
12.2.10 批量设置控件的属性
12.3 窗体与控件的事件
12.3.1 UserForm对象的事件
12.3.2 控件的事件
12.4 窗体应用实战
12.4.1 开发多工作表查询窗体
12.4.2 开发多工作表快速录入面板
12.4.3 以指定名称批量新建或复制工作表
12.5 课后思考
第13章 定义Ribbon功能区选项卡
13.1 功能区选项卡开发基础
13.1.1 Ribbon的特点
13.1.2 功能区的组件图示
13.1.3 手动定制功能区
13.1.4 认识Ribbon代码编辑器
13.1.5 获取内置按钮图标
13.2 Ribbon定制之语法分析
13.2.1 功能区代码的结构
13.2.2 显示与隐藏功能区:ribbon
13.2.3 创建新选项卡:tab
13.2.4 创建新组:group
13.2.5 创建对话框启动器:dialogBoxLauncher
13.2.6 在组中添加命令按钮:button
13.2.7 创建切换按钮:toggleButton
13.2.8 创建弹出式菜单:menu
13.2.9 创建下拉列表:dropDown
13.2.10 创建编辑框:editBox
13.2.11 锁定或隐藏内置功能
13.3 使用回调函数强化功能区
13.3.1 为什么需要使用回调函数
13.3.2 回调函数详解
13.3.3 创建1到3号才能使用的按钮
13.3.4 创建按下与弹起时自动切换图标的按钮
13.3.5 在功能区中快速查找
13.3.6 在组的标签处显示日期及问候语
13.3.7 调用大图片创建下拉菜单
13.4 使用模板
13.4.1 模板的重要性
13.4.2 模板的使用方法
13.4.3 制作两个模板
13.5 课后思考
第14章 开发通用插件
14.1 插件的分类
14.1.1 什么是插件
14.1.2 插件的分类方式
14.1.3 开发插件和编写普通代码的分别
14.2 漫谈加载宏
14.2.1 加载宏工作簿的特点
14.2.2 加载宏管理器
14.2.3 加载宏的使用方法
14.2.4 加载宏的便利性
14.3 制作工作表批量重命名插件
14.3.1 开发通用插件的基本步骤
14.3.2 罗列插件需求
14.3.3 设计插件窗体
14.3.4 编写代码
14.3.5 创建菜单与设置快捷键
14.3.6 安装并测试功能
14.4 课后思考
第15章 让VBA代码也能撤销
15.1 突破撤销限制
15.1.1 VBA命令的撤销限制
15.1.2 设计可以撤销的Sub过程的思路与步骤
15.2 设计可撤销的插件
15.2.1 编写插件
15.2.2 为插件添加撤消功能
15.3 课后思考
第16章 使用VSTO设计插件的基本步骤
16.1 安装Visual Studio 2015
16.1.1 VSTO对于Excel用户的意义
16.1.2 Visual Studio版本介绍
16.1.3 安装Visual Studio 2015
16.2 Excel插件开发流程
16.2.1 创建项目
16.2.2 设计功能区
16.2.3 写入Sub过程
16.2.4 生成DLL插件
16.3 将插件打包成安装程序
16.3.1 Inno Setup软件介绍
16.3.2 打包插件安装程序
16.3.3 安装插件
16.4 课后思考
第17章 VSTO与VBA的差异
17.1 变量、常量与数据类型
17.1.1 数据类型
17.1.2 变量
17.1.3 常量
17.2 函数
17.2.1 调用方式不同
17.2.2 函数差异
17.3 数组
17.3.1 原本功能的差异
17.3.2 新增功能
17.4 窗体
17.4.1 名称变化
17.4.2 调用方式变化
17.4.3 功能变化
17.5 字典与正则表达式
17.5.1 字典
17.5.2 正则表达式
17.6 菜单与功能区
17.6.1 工作表菜单
17.6.2 功能区菜单
17.7 管理文件与目录
17.7.1 管理文件
17.7.2 管理目录
17.8 杂项
17.9 课后思考
第18章 将VBA插件升级为VSTO插件
18.1 设计插件框架
18.1.1 VBA插件介绍
18.1.2 设计插件框架
18.2 升级Sub过程“创建工资条”
18.2.1 准备工作
18.2.2 修改代码
18.3 升级窗体“文件批量命名”
18.3.1 准备工作
18.3.2 修改代码
18.4 升级事件过程“零值控制器”
18.4.1 编写功能区回调过程
18.4.2 编写应用程序级事件过程
18.5 打包安装程序
18.5.1 制作安装程序
18.5.2 安装测试
18.6 课后思考
第19章 VSTO的更多高级应用
19.1 添加窗体状态栏
19.1.1 设计
19.1.2 测试
19.2 创建任务栏图标
19.2.1 设计
19.2.2 测试
19.3 自动发邮件
19.3.1 设计
19.3.2 测试
19.4 全自动合并数据
19.4.1 设计
19.4.2 测试
19.5 设计任务窗格
19.5.1 设计
19.5.2 测试
19.6 课后思考
第20章 365个VBA常见问题答疑


📜 SIMILAR VOLUMES


PLC基础与实战
✍ 薛迎成; 何坚强; 姚志垒 📂 Library 📅 2010 🏛 电子工业出版社 🌐 Chinese

《PLC基础与实战》第1~7章介绍了西门子PLC、三菱PLC的基础知识、硬件系统、存储器系统、指令系统、编程语言、编程调试和仿真方法。第8章介绍了三菱 CC-Link网络,第9章 介绍了FX2N PLC在废纸打包机控制系统中的应用,第10章介绍了FX2N PLC在下料机上的应用,第11章介绍了 西门子S7-200 PLC和F940触摸屏在砌块成型机上的应用,第12章介绍了 三菱CC-Link现场总线在生产线上的应用,第13章介绍了FX2N PLC和台达触摸屏在污水处理控制系统中的应用。

网络监测基础与实战
✍ 颜东成、韩玉宁 📂 Library 📅 2011 🏛 清华大学出版社 🌐 Chinese

<p>《网络监测基础与实战》介绍了网络监控技术的基础知识,并且以三款主流软件为平台重点介绍了网络管理和监测中的设备级监控、网络整体流量监控、运行日志分析和管理三个层面的应用。书中第1-4章主要介绍网络监测和管理所涉及的基础知识,包括各类网络接口、交换机和Vlan知识、路由器和配置模式、防火墙和DMZ结构、网络协议和管理应用等。这些内容大多都是以实际应用和具体操作进行介绍的,为读者后续的学习打好基础;第5-12章以IpSwitchWhatsUpGold、Prtg、WikisSyslog三款网络管理软件为平台讲解网络设备级监控、网络整体流量监控、运行日志分析和管理等内容。这三款软件广受好评,使用广

Java编程指南——语法基础、面向对象、函数式编程与项目实战
✍ 关东升 📂 Library 📅 2019 🏛 清华大学出版社 🌐 Chinese

本书是一部系统论述Java编程语言的教程,主要内容包括绪论、开发环境搭建、第一个Java程序、Java语法基础、数据类型、运算符、控制语句、数组、字符串、面向对象基础、对象、继承与多态、抽象类与接口、Java常用类、内部类、Lambda表达式、异常处理、集合、泛型、文件管理与I/O流、多线程编程、网络编程、Swing图形用户界面编程、数据库编程。本书最后给出了一个实战项目——开发PetStore宠物商店项目。每一章后面都安排若干道同步练习题,并在附录C中提供了参考答案。 本书可作为高等学校计算机软件技术课程的教材,也可作为社会培训机构的培训教材,还可作为广大Java初学者和Java开发的程序员

管理基础与实务
✍ 沈友耀,薛蕊主编 📂 Library 📅 2010 🏛 电子工业出版社 🌐 Chinese

<p>《管理基础与实务》适合高职高专院校、成人高校的老师和学生以及企业的管理人员使用,也可用于行业培训考试、继续...</p> <p>《管理基础与实务》是一本着眼于培养高职高专类院校学生的管理素质与管理技能的教材。《管理基础与实务》以管理的四项职能——计划、组织、领导、控制为主线,系统地介绍了管理活动的基本规律、原理和方法。</p> <p>《管理基础与实务》设三篇,共九章。第一篇管理内涵篇,主要介绍管理和管理学的基本概念和理论知识;第二篇阐述了管理的基本职能,是全书的重点部分,比较系统地介绍了管理的一般职能以及相关的理论与方法;第三篇是管理的改革与创新篇,主要介绍创新、组织的变革和发展,目

Excel VBA 编程实战宝典
✍ 尚品科技 📂 Library 📅 2018 🏛 清华大学出版社 🌐 Chinese

<p>本书详细地介绍了Excel VBA编程的知识、技术与实际应用。全书包括23章和3个附录,对Excel VBA语言元素、Application对象、Workbook对象、Worksheet对象、Range对象、Name对象、Sort对象、AutoFilter对象、Shape对象、Chart对象、ChartObject对象、PivotTable对象、创建与使用类模块、编写事件过程、使用Excel对话框、创建用户窗体和控件、定制命令栏和RibbonX功能区、创建用户自定义函数、使用FSO对象模型和VBA内置语句处理文件、与其他Office应用程序交互、使用ADO访问数据、操作注册表、操作VBE