OfficeVBA开发经典:中级进阶卷

本书特色

[

资深软件开发专家根据自己十余年VBA开发经验,通过本书深入阐释Office VBA开发。相比于基础入门卷,本书的内容体系更加完善,知识点更高阶,以VBA中添加和使用外部引用为主线,详细讲述使用VBA操作和读写Office文档之外的内容,案例丰富,让读者身临其境,体会VBA编程的策略和魅力。
本书内容丰富、实用性强,实例典型且有代表性,可以帮助读者轻松熟悉VBA编程,系统学习VBA编程的每个层面。全书分为14章,内容包括文件和路径操作、文件系统自动化、压缩文件处理、XML操作、自定义功能区、正则表达式使用方式、字典使用方法、数据库操作、Office VBA混合编程、工程引用与外部对象、Acrobat对象操作、邮件处理、网页自动化等。书中所有章节涉及的程序代码都给出了详细注释。
本书可作为职场办公人员、高校理工科师生、Office专业开发人员自学用书,也可作为Office编程培训讲师的教学参考书。

]

内容简介

[

资深软件开发专家多年经验结晶,深入浅出阐释Office VBA开发涉及的工具、方法和实践

]

作者简介

[

刘永富
化学工程专业博士研究生,微软Office大师、VBA专家、51CTO学院和CSDN学院讲师。作者对Office VBA和VSTO开发有十余年的深入研究。代表性技术作品有:Ribbon XML Editor、VBE2019、Spy和Inspector等。近期研究领域:Outlook的VBA和VSTO开发、API和UI Automation自动化。
刘行
吉林财经大学日语会计专业毕业,就职于世界500强外企,有丰富的财务和数据处理实战经验。

]

目录

目 录第 1章文件和路径操作 1 1.1 使用传统方式 1 1.1.1 获取文件或路径的属性 2 1.1.2 设置文件或路径的属性 4 1.1.3 判断文件或路径是否存在 4 1.1.4 遍历文件和子文件夹 5 1.1.5 文件的复制、移动和删除 7 1.1.6 文件夹的创建和删除 8 1.1.7 文本文件的读写 8 1.2 二进制方式读写文件 12 1.2.1 字符串与字节数组的互换12 1.2.2 文本文件的写入13 1.2.3 文本文件的读出13 1.2.4 文本文件的拆分15 1.2.5 文本文件的合并16 1.2.6 二进制文件的复制16 1.3 使用文件系统对象 16 1.3.1 前期绑定17 1.3.2 后期绑定18 1.3.3 FSO对象模型 18 1.3.4 遍历磁盘分区18 1.3.5 操作文件夹20 1.3.6 文件夹拒绝访问的问题22 1.3.7 操作文件24 1.3.8 遍历文件25 1.3.9 遍历子文件夹26 1.3.10 FSO的更多操作方式28 1.3.11 判断是否存在 30 1.3.12 文本文件的读写 31 1.4 使用 ADODB.Stream实现文件读写 35 1.4.1 对象的引入36 1.4.2 读取文本文件36 1.4.3 写入文本文件37 1.4.4 利用 ADODB.Stream下载网页附件38 1.5 本章小结 39第 2章文件系统自动化 40 2.1 Shell函数 40 2.1.1 System32中常用的可执行文件42 2.1.2 执行 DOS命令 43 2.1.3 认识 Shell函数的异步 44 2.1.4 处理 Shell函数中的空格45 2.1.5 自动打开控制面板46 2.1.6 打开资源管理器47 2.1.7 注册 ocx文件和 dll文件 48 2.1.8 结束进程51 2.1.9 自动关机51 2.2 内置注册表函数 52 2.2.1 GetSetting53 2.2.2 SaveSetting 54 2.2.3 DeleteSetting 56 2.2.4 GetAllSettings56 2.3 使用 WshShell操作注册表 57 2.3.1 读注册表项57 2.3.2 写注册表项59 2.3.3 删除注册表项60 2.3.4 创建新项61 2.4 创建快捷方式 63 2.4.1 创建文件的快捷方式63 2.4.2 创建网址的快捷方式65 2.5 操作环境变量 66 2.5.1 查看和遍历环境变量67 2.5.2 新建和修改环境变量68 2.5.3 删除环境变量68 2.6 自动激活指定标题文字的窗口 69 2.7 自动关闭的对话框 70 2.8 自动发送按键 71 2.8.1 按键写法72 2.8.2 多次按同一个键74 2.8.3 组合按键74 2.8.4 特殊符号的输入75 2.8.5 循环中使用按键75 2.8.6 关于自动按键的补充说明77 2.9 使用 WshNetwork对象77 2.9.1 返回计算机属性77 2.9.2 映射网络驱动器78 2.9.3 操作打印机79 2.10 本章小结80第 3章处理压缩文件 81 3.1 Shell调用 WinRAR 81 3.1.1 获取 WinRAR可执行文件路径82 3.1.2 命令和开关83 3.1.3 压缩85 3.1.4 解压缩87 3.1.5 删除88 3.1.6 使用通配符88 3.1.7 处理压缩包的密码90 3.1.8 使用 WinRAR修改 Of.ce文档 91 3.2 使用 Shell32对象94 3.2.1 引入 Shell32对象94 3.2.2 使用 namespace返回文件夹 95 3.2.3 文件夹选择对话框95 3.2.4 遍历文件夹中的内容96 3.2.5 遍历 .zip压缩包中的内容98 3.2.6 遍历 Of.ce文档中的内容98 3.2.7 CopyHere方法 99 3.2.8 MoveHere方法 100 3.2.9 处理文件覆盖 102 3.2.10 处理异步问题 103 3.2.11 修改 Of.ce文档功能区 103 3.3 本章小结 105第 4章操作 XML 106 4.1 XML构成 106 4.1.1 元素节点 107 4.1.2 元素的属性 108 4.1.3 节点关系 108 4.1.4 文本节点 108 4.1.5 注释节点 109 4.1.6 处理指令节点 109 4.2 XML语法规则 110 4.2.1 标签必须正确关闭 110 4.2.2 严格区分大小写 110 4.2.3 必须有根元素 110 4.2.4 父子元素必须正确嵌套 110 4.2.5 属性值必须加引号 111 4.3 查看和编辑 XML 111 4.3.1 使用记事本程序创建 XML文件 111 4.3.2 使用 WebBrowser控件显示 XML 111 4.4 使用 DOMDocument读写 XML 113 4.4.1 引入 DOMDocument对象 113 4.4.2 装载本地文件 113 4.4.3 装载网络文件 114 4.4.4 装载字符串 114 4.4.5 保存 XML文件 115 4.5 DOM对象模型 115 4.5.1 节点类型 115 4.5.2 节点对象 116 4.5.3 节点对象的属性 116 4.6 定位节点 116 4.6.1 使用 ChildNodes定位所有子节点 117 4.6.2 使用 PreviousSibling和 NextSibling定位前后节点 118 4.6.3 使用 ParentNode定位父节点 118 4.6.4 使用 XPath定位到任一节点 119 4.6.5 使用 getElementsByTagName定位到一组元素节点 120 4.6.6 使用 getAttributeNode定位到属性 121 4.7 详细了解元素节点 121 4.7.1 遍历元素的属性 122 4.7.2 遍历元素的文本节点 123 4.7.3 遍历元素的子元素节点 124 4.7.4 遍历元素的注释节点 124 4.8 创建和修改 XML 125 4.8.1 创建节点 125 4.8.2 插入节点 126 4.8.3 移除节点 127 4.8.4 修改和移除节点的属性 127 4.8.5 替换节点 128 4.8.6 克隆节点 128 4.9 使用 Schema验证 XML 129 4.9.1 在 XSD文件中创建规则 129 4.9.2 配置 DOMDocument的 Schema 131 4.9.3 分析验证结果 132 4.10 XML与 Of.ce文档 133 4.10.1 添加自定义 XML到 Word文档 133 4.10.2 读取 Of.ce文档中的自定义 XML 134 4.10.3 移除 Of.ce文档中的自定义 XML 135 4.10.4 工作表导入 XML 135 4.11 本章小结 137第5章 自定义功能区 138 5.1 customUI概述 138 5.1.1 常用功能区 139 5.1.2 快速访问工具栏 139 5.1.3 环境功能区 139 5.1.4 右键菜单 140 5.1.5 Of.ce菜单 140 5.1.6 手动完成 customUI设计 140 5.2 使用 customUI软件 143 5.2.1 命名空间和 Schema验证 143 5.2.2 Custom UI Editor 144 5.2.3 Of.ce Ribbon Editor 144 5.2.4 Visual Studio中的 XML Editor 144 5.2.5 Ribbon XML Editor 145 5.2.6 显示加载项用户界面错误 148 5.3 自定义常用功能区 149 5.3.1 选项卡 149 5.3.2 组 151 5.3.3 按钮 151 5.3.4 小结回顾 152 5.3.5 复选框 153 5.3.6 组合框 153 5.3.7 下拉框 154 5.3.8 文本框 155 5.3.9 标签 156 5.3.10 分隔线 156 5.3.11 切换按钮 157 5.3.12 控件箱 157 5.3.13 控件组 158 5.3.14 图片库 159 5.3.15 菜单 160 5.3.16 分裂按钮 161 5.3.17 动态菜单 162 5.3.18 对话框 164 5.4 常用属性详解 165 5.4.1 id-idMso 167 5.4.2 insertBeforeMso-InsertAfterMso 168 5.4.3 enabled-getEnabled 169 5.4.4 visible-getVisible 170 5.4.5 label-getLabel 171 5.4.6 imageMso-image-getImage 173 5.4.7 showImage-showLabel 178 5.4.8 onAction 178 5.4.9 onChange-getText 179 5.4.10 onLoad 180 5.4.11 IRibbonUI对象 181 5.4.12 screentip-supertip-keytip 184 5.4.13 size 184 5.4.14 tag 185 5.4.15 小结回顾 186 5.4.16 customUI的 XML代码编写技巧 188 5.5 使用 Commandbars对象操作 Of.ce内置控件 189 5.5.1 获取内置控件属性 190 5.5.2 自动执行内置控件的命令 191 5.5.3 获取内置控件的图标 191 5.6 自定义快速访问工具栏 191 5.7 自定义环境功能区 193 5.7.1 创建自定义选项卡 194 5.7.2 创建自定义组和控件 195 5.8 自定义右键菜单 197 5.8.1 修改内置控件状态 198 5.8.2 添加自定义控件 198 5.9 自定义 Of.ce菜单 200 5.9.1 自定义 backstage视图概述 200 5.9.2 backstage的 XML架构 201 5.9.3 group风格 202 5.9.4 taskGroup风格 204 5.9.5 taskFormGroup风格 205 5.9.6 重要属性解释 208 5.10 更改内置控件属性 210 5.11 customUI疑难解答 211 5.12 本章小结 212 第 6章使用正则表达式 213 6.1 正则表达式入门 214 6.1.1 引用 RegExp 214 6.1.2 创建 Regexp对象 215 6.1.3 模式和元字符 215 6.1.4 是否忽略大小写 216 6.1.5 是否多行模式 217 6.1.6 是否全局搜索 217 6.2 格式验证测试 217 6.2.1 判断是否包含特定的字符 217 6.2.2 判断源文本中是否只包含模式 218 6.3 替换 219 6.4 查找 221 6.4.1 MatchCollection对象 221 6.4.2 Match对象 222 6.4.3 SubMatches对象 224 6.5 元字符用法详解 225 6.5.1 字符范围 225 6.5.2 多个可选 226 6.5.3 环境修饰 226 6.5.4 重复多次 227 6.5.5 贪婪和非贪婪 228 6.6 正则表达式测试器 229 6.7 本章小结 229第 7章使用字典 230 7.1 字典对象 230 7.1.1 字典的属性和方法 231 7.1.2 键值对的添加 232 7.1.3 键值对的修改 233 7.1.4 键值对的移除 234 7.1.5 指定的键是否存在 234 7.1.6 遍历字典 234 7.1.7 字典的比较模式 235 7.1.8 字典的数据类型 236 7.2 字典的应用 237 7.2.1 提取单列数据中的唯一值 237 7.2.2 删除重复行 238 7.2.3 检查字符串中是否有重复字符 239 7.3 本章小结 239第 8章操作数据库 240 8.1 Access数据库概述 240 8.1.1 数据表设计 241 8.1.2 字段类型 243 8.1.3 记录维护 243 8.2 使用 ADO对象操作数据库 244 8.2.1 Connection对象 245 8.2.2 RecordSet对象 247 8.2.3 Field对象 248 8.2.4 遍历记录行 249 8.2.5 使用 Connection.Execute方法执行 SQL语句 252 8.2.6 使用 Command.Execute方法执行 SQL语句 252 8.3 窗体中显示查询结果 253 8.3.1 ListBox控件显示结果记录集 253 8.3.2 使用 TextBox控件显示单条记录 254 8.3.3 使用 DataGrid控件显示结果记录集 256 8.4 SQL结构化查询语言详解 259 8.4.1 使用 Select语句查询 259 8.4.2 使用 Where子句进行记录筛选 262 8.4.3 使用 Order By进行排序 264 9.3.2 处理被控组件的事件过程 288 8.4.4 使用 Group By进行分类9.4 跨组件编程实例 289 8.4.5 使用 Select Into语句把查询结果存入新表 266 8.4.6 使用 Insert Into语句增加记录 267 8.4.7 使用 Delete语句删除记录 268 8.4.8 使用 Update语句修改记录 269 8.4.9 处理 SQL语句中的单引号 269 8.5 修改数据库结构 270 8.5.1 自动创建新数据库 271 8.5.2 自动创建新表 271 8.5.3 字段的增加删除和修改 272 8.5.4 自动删除数据表 273 8.6 访问其他类型的数据库 273 8.6.1 连接字符串的构造 273 8.6.2 查询 Excel工作表数据 274 8.6.3 查询 CSV、TXT文件 276 8.6.4 文本文件的快速合并 279 8.7 本章小结 280第 9章 Of.ce VBA混合编程 281 9.1 前期绑定和后期绑定 281 9.1.1 绑定前后的变化 282 9.1.2 后期绑定方式 283 9.2 创建和获取应用程序对象 284 9.2.1 使用 CreateObject 284 9.2.2 使用 New关键字 284 9.2.3 获取正在运行的应用程序对象 285 9.3 代码改写技巧 286 9.3.1 Word VBA中运行 Excel VBA代码 286 9.4.1 Word VBA调用 Excel工作表函数实现英汉互译 289 9.4.2 PowerPoint VBA调用 Excel VBA实现自动计算 291 9.4.3 Outlook VBA基于 Excel数据发送邮件 293 9.4.4 Visual Basic 6.0读写 Excel 294 9.5 本章小结 295第 10章工程引用与外部对象 296 10.1 处理 VBA工程中的引用 296 10.1.1 引用的属性 297 10.1.2 内置引用 300 10.1.3 引用的添加 300 10.1.4 引用的移除 300 10.2 外部对象和注册表 301 10.2.1 CLSID和 ProgID 302 10.2.2 创建新对象 303 10.2.3 VBA中使用剪贴板 303 10.3 本章小结 304第 11章操作 Acrobat对象 305 11.1 认识 Adobe Acrobat 305 11.2 Of.ce文档导出为 PDF文件 307 11.2.1 Word文档导出为 PDF文件 308 11.2.2 Excel工作簿导出为 PDF文件 308 11.2.3 PowerPoint演示文稿导出为 PDF文件 309 11.3 Acrobat对象模型 309 11.3.1 引用 Acrobat对象库 309 11.3.2 Acrobat常用对象 310 11.3.3 Acrobat枚举常量 311 11.4 AcroApp应用程序对象 312 11.4.1 创建 Acrobat对象 312 11.4.2 获取已经打开的 Acrobat对象 312 11.4.3 获取和设置活动工具 313 11.4.4 自动执行 Acrobat工具栏控件命令 313 11.5 AcroAVDOC文档对象 314 11.5.1 遍历所有打开的 PDF文档 314 11.5.2 AcroAVDOC对象的属性和方法 315 11.5.3 清除选择和显示选择 316 11.5.4 在 PDF文件中查找内容 317 11.5.5 获取和设置 PDF标题文字 317 11.5.6 获取和设置阅览模式 318 11.5.7 获取和设置 PDF文档窗口位置 318 11.5.8 打印或另存 PDF文档 318 11.6 AcroAVPageView对象 319 11.7 AcroPDPage对象 320 11.7.1 获取和更改 PDF页面旋转角度 320 11.7.2 删除注释 321 11.7.3 提取页面文字 322 11.8 AcroPDDoc对象 323 11.8.1 获取和修改 PDF文件属性 323 11.8.2 裁剪页面 324 11.8.3 删除页面 327 11.8.4 移动页面 327 11.8.5 插入页面 328 11.8.6 拆分文档 329 11.8.7 合并文档 329 11.8.8 替换页面 330 11.9 本章小结 330第 12章自动发送邮件 331 12.1 开启 POP3/SMTP服务 331 12.1.1 QQ邮箱的 SMTP设置 332 12.1.2 查看邮箱服务器属性 332 12.1.3 网易 163邮箱的 SMTP设置 334 12.1.4 日本雅虎邮箱的 SMTP设置 334 12.2 VBA中使用 CDO 335 12.2.1 配置发信账户 335 12.2.2 创建邮件 336 12.2.3 错误处理 338 12.2.4 窗体版的邮件客户端 338 12.3 其他语言调用 CDO 339 12.3.1 VB.Net调用 CDO 339 12.3.2 C#调用 CDO 340 12.4 本章小结 341第 13章网页自动化 342 13.1网页自动化概述 342 13.1.1 网页自动化包含的内容 342 13.1.2 网页自动化开发所需知识和技能 343 13.1.3 VBA开发网页自动化的优势 343 13.1.4 本章主要内容 344 13.2 HTML基础 344 13.2.1 标题 345 13.2.2 注释 345 13.2.3 表格 345 13.2.4 图像 346 13.2.5 超链接 346 13.2.6 列表 347 13.2.7 表单控件 347 13.3 HTML DOM对象模型 348 13.3.1 使用 HTML DOM创建网页 348 13.3.2 使用 HTML DOM解析网页内容 352 13.3.3 获取和定位网页元素 354 13.3.4 innerHTML、outerHTML、 innerText、outerText的区别 356 13.3.5 使用 InsertAdjacent系列方法插入元素 356 13.4 Internet Explorer浏览器对象 358 13.4.1 使用浏览器的开发工具分析网页元素 360 13.4.2 处理超链接弹出的新窗口 364 13.4.3 中文字符的编码和解码 367 13.4.4 使用浏览器对象的事件 368 13.4.5 处理网页中的表格数据 369 13.4.6 自动读写表单 371 13.5 WebBrowser控件 374 13.5.1 处理 iframe 375 13.5.2 自动查看邮箱信息 378 13.5.3 延时等待处理 381 13.5.4 确保元素的获取 382 13.5.5 获取和操作已经打开的浏览器网页 383 13.5.6 获取和操作文件资源管理器窗口 385 13.6 XMLHTTP 387 13.6.1 使用 XMLHTTP的基本流程 387 13.6.2 判断是否联网 388 13.6.3 GET和 POST请求 388 13.6.4 正确获取网页源代码 391 13.6.5 网页中文件的下载 393 13.6.6 使用 API函数下载文件 395 13.7 WinHttp 396 13.7.1 POST请求和响应 396 13.7.2 抓包分析 397 13.7.3 构建代码 399 13.7.4 继续访问网站其他网页 400 13.8 本章小结 401第 14章其他常见话题 402 14.1 随机数 402 14.2 进制 402 14.3 颜色 403 14.4 Excel的文件格式 404 14.5 日期和时间运算 405 14.5.1 分量的提取 405 14.5.2 日期和时间的生成 405 14.5.3 日期时间的格式化 406 14.5.4 计算两个日期的差 407 14.5.5 日期与数字的加减 407 14.5.6 常见日期信息获取 408 14.6 本章小结 409

封面

OfficeVBA开发经典:中级进阶卷

书名:OfficeVBA开发经典:中级进阶卷

作者:刘用富

页数:未知

定价:¥99.0

出版社:清华大学出版社

出版日期:2019-07-01

ISBN:9787302526377

PDF电子书大小:83MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注