词条 | EXCEL2007VBA开发技术大全 |
释义 | 《EXCEL2007VBA开发技术大全》从读者所需出发,采取先基础、后实例,以及从零开始循序渐进的讲解方式,全面、系统且深入地介绍Excel 2007 VBA编程技术。读者无论有无基础,都可以轻松学习,并高效掌握。书中的内容丰富实用,通过基础知识和应用示例的结合并穿插许多VBA编程技巧和设计规范等知识,提供了详细的编程思路和大量的代码范例。从而指导读者学习Excel 2007 VBA编程技术,最终完成从入门到精通的大跨越。 EXCEL2007VBA开发技术大全作 者: 傅靖,李冬,罗刚君编著 出 版 社: 电子工业出版社 出版时间: 2008-10-1 页 数:700页 开 本: 16开 I S B N: 9787121071706 定价:75.00元 简介本书随附光盘一张,其中包括书中所有示例的素材文件。本书适合广大Excel VBA的初、中级用户使用,同时也可作为大中专院校相关专业学生、VBA程序员,以及社会相关培训班的难得教材。 前 言本书的编写目的: Excel 2007相对于以前版本的Excel,做出了巨大的跳跃。在文件格式上,Excel工作簿由以往的二进制文件格式(.xls、.xla和xlt等)变成开放的XML文件格式(.xlsm、.xlam、.xltm、.xlsx、.xlax和.xltx等);在界面上,传统的菜单和工具栏被换成了功能区,并且图表外观也焕然一新;在功能上,增加和改进了一系列功能,例如丰富的条件格式、可调整的编辑栏、函数记忆式键入、新的OLAP公式和多维数据集函数、改进的排序和筛选功能,以及Excel表格的增强功能等。 这些调整和变化势必造成Excel对象模型的改变,为用户的学习和使用带来困难,而且目前图书市场上比较缺乏全面、系统且深入介绍Excel 2007 VBA编程技术的书籍。本书正是为了弥补这种不足编写的,书中针对Excel 2007新的对象模型,全面深入地剖析Excel 2007 VBA中的各个Excel对象及其使用方法。 本书的内容框架本书是一本Excel VBA综合开发参考大全,书中几乎囊括了使用Excel VBA开发Excel应用程序的全部知识,同时在讲解中结合了大量实用并具有代表性的示例。 本书共23章,分为4个部分。各个部分涉及的技术既相互独立,又相互联系。书中逐步引导读者深入学习并掌握Excel VBA的编程知识、方法和技巧,是Excel VBA爱好者和开发人员必备的案头参考书。 第1部分 基础入门篇 第1章介绍如何使用宏录制器录制宏,以及如何运行宏,并帮助读者认识和定制VBA集成开发环境。 第 2 章介绍Excel 2007对象模型、Application(应用程序)、Workbook(工作簿)和Worksheet(工作表)等主要对象,着重介绍最常用的Range(区域)对象,以及一个非常有用,但往往被开发人员忽视的Name(名称)对象。 第 3 章介绍标识符、运算符、表达式和数据类型等程序设计中的各种基本概念,结合笔者在Excel二次开发中的经验,总结并提出了VBA代码规范、提高VBA代码运行效率的方法及各种有益的VBA编程习惯。 第2部分 巩固提高篇 第4章介绍数组的基本概念,说明如何实现数组与Excel的Range及Name对象之间的交互,并且介绍如何使用几个常用的数组内置函数和一些有用的自定义数组函数。 第5章介绍如何操作用户窗体及ActiveX控件和窗体控件。 第6章全面说明Excel的事件过程的基本原理,并具体分析工作表、图表和工作簿事件的使用方法。 第7章介绍如何创建两种不同类型的图表(嵌入式图表和图表工作表),以及如何编辑图表系列,同时介绍如何使用数组赋值并为图表添加标签。 第8章介绍如何创建并操作数据透视表。 第9章介绍如何创建Excel表,并使用自动筛选和记录单等对象,以及如何使用AdvanceFilter方法。 第10章分析并介绍各种不同类型的错误,以及如何编写错误处理程序,然后介绍不同的错误调试工具及技术。 第 11 章全面讲解功能区的基础界面,并通过示例说明如何使用VBA访问功能区及使用RibbonX代码定制功能区。 第3部分 高级编程篇 第12章介绍如何在Excel 2007中创建和控制命令栏及快捷菜单。 第13章介绍结构化查询语言SQL及其最常用的4种语句(SELECT、INSERT、UPDATE和DELETE),并介绍ADO中的几个顶级对象,如何在Excel中使用ADO,并使用ADO访问Access和Excel中的数据。 第14章详细介绍顺序、随机及二进制文件,说明如何操作文件、文件夹,并使用文件系统对象FSO。 第15章介绍如何使用Excel VBA来实现Excel与Internet的交互。 第16章介绍XML的一些基础知识,并说明如何实现使用VBA来实现XML的自动处理。 第17章详细介绍类模块的基础知识,说明如何使用类模块创建自定义对象,并使用类模块捕获应用程序事件和嵌入式图表事件等。 第18章介绍Windows API的基础知识,以及如何在Excel VBA中调用API实现冻结用户窗体、获取系统信息、捕获按键状态,改变用户窗体样式等操作。 第19章介绍不同类型的加载项,以及如何使用这些加载项。 第20章介绍使用不同方式与其他Office组件建立连接(晚期绑定和早期绑定),以及如何控制Word、Access及Outlook等组件。 第21章介绍VBE对象模型及其主要对象,以及如何操作VBProject中的各个对象、创建窗体组件并为VBE添加菜单项等。 第22章分析并介绍在编写国际化应用程序中应该注意的问题,以及如何实现不同语言的切换。 第4部分 综合系统篇 第23章通过两个综合系统实例综合应用VBA的编程技术,使读者可以快速提高编程水平。 本书的特点归纳与同类书相比,本书主要有如下4个特色。 (1)实力派作者的力作,融汇了作者大量的工作经验与心得体会。 (2)内容全面、系统且实用,从零开始、循序渐进,针对性和实践性强。 (3)实例丰富且应用范围广泛,可以满足读者“一册学通”的愿望。 (4)穿插大量VBA编程技巧和设计规范知识,提供详细的编程思路和代码注释。手把手地引导读者从入门到精通,实现从初学者到Excel VBA高级开发人员的跨越。 光盘中的内容本书随附光盘中包括了本书中用到的所有示例,读者阅读相应的知识点后可以使用对应的示例反复多次上机练习,以加深和巩固对知识点的理解和掌握。 本书读者对象对于Excel VBA初学者,这是一本不可多得的VBA入门教材;对于有一定基础的中高级水平的Excel VBA用户,本书提供了对Excel VBA各个知识点的深入剖析,并提供了相应的示例,可以帮助其快速提高二次开发水平。本书同时也可作为大中专院校相关专业学生,以及社会相关培训班的理想教材。 作者介绍本书作者都是大型Office论坛的版主,具有丰富的Excel VBA编程经验。本书主要由傅靖、李冬和罗刚君编写,参与编写的人还有钟波、段左英、李洪丽、杨利美、苗素丽、刘永美、谢汝祥、郭能进、何文祥、何玉凤、廖日坤、金镇、李宁宇、黄小惠、廖济林、庞丽梅、邱远彬、黄桂群、刘伟捷、黄乘传、李彦超、付军鹏、张广安及张洪波等,他们在资料的收集、整理和校对方面做了大量的工作。从而最大限度地保证了书稿内容的系统、全面和实用,在此一并向其表示感谢! 目 录第1部分 基础入门篇 第1章 Excel VBA起步 2 1.1 使用宏录制器 3 1.1.1 录制宏 3 1.1.2 确保“开发工具”选项卡可见 3 1.1.3 成功录制宏的因素 4 1.1.4 录制模式:相对模式或绝对模式 4 1.1.5 录制选项 7 1.1.6 完成录制 8 1.1.7 编辑代码 9 1.1.8 录制宏的限制 10 1.1.9 安全性问题 11 1.2 运行宏 13 1.2.1 打开“宏”对话框的方式 13 1.2.2 快捷键方式 13 1.2.3 表单控件方式 14 1.2.4 ActiveX控件方式 15 1.2.5 快速访问工具栏方式 16 1.2.6 VBE窗口方式 17 1.3 VBA集成开发环境 17 1.3.1 访问VBA集成开发环境 17 1.3.2 IDF中的各组件 18 1.3.3 “工程资源管理器”窗口 19 1.3.4 “属性”窗口 21 1.3.5 “对象浏览器”窗口 22 1.3.6 “代码”窗口 24 1.4 定制集成开发环境 29 1.4.1 “编辑器”选项卡 29 1.4.2 “编辑器格式”选项卡 32 1.4.3 “通用”选项卡 33 1.4.4 “可连接的”选项卡 34 1.4.5 定制工具栏和菜单栏 34 1.5 使用系统帮助 35 1.6 认识信任中心 36 1.7 小结 42 第2章 Excel的对象模型及其主要对象 43 2.1 Excel 2007对象模型 44 2.1.1 Objects对象及对象层次结构 44 2.1.2 集合 44 2.1.3 属性 45 2.1.4 方法 46 2.1.5 事件 46 2.1.6 获取帮助 47 2.1.7 对象浏览器 48 2.1.8 使用“立即”窗口来调试代码 49 2.2 Application对象 49 2.2.1 全局对象 50 2.2.2 Active属性 50 2.2.3 DisplayAlerts属性 51 2.2.4 ScreenUpdating属性 51 2.2.5 Evaluation方法 52 2.2.6 StatusBar属性 53 2.2.7 SendKeys方法 54 2.2.8 OnTime方法 56 2.3 Workbooks工作簿集合对象 57 2.3.1 创建一个新的工作簿 57 2.3.2 打开工作簿 58 2.3.3 保存和关闭所有工作簿 58 2.3.4 与工作簿相关的3个 1.1.4 自定义函数 59 2.3.5 使用自定义函数完成的一些工作簿操作 60 2.4 Worksheets工作表集合对象 62 2.5 Range对象概述 63 2.6 Range对象的常用属性 68 2.6.1 Value属性 69 2.6.2 Text属性 69 2.6.3 Count及Areas属性 70 2.6.4 Address属性 71 2.6.5 HasFormula属性 72 2.6.6 Font属性 73 2.6.7 Interior属性 73 2.6.8 Formula属性 75 2.6.9 NumberFormat属性 75 2.7 Range对象的常用方法 76 2.7.1 Activate和Select方法 76 2.7.2 Copy和Paste方法 77 2.7.3 Clear和Delete方法 77 2.8 返回Range对象的方法 78 2.8.1 Range属性 78 2.8.2 Cells属性 81 2.8.3 Offset属性 82 2.8.4 Columns和Rows属性 82 2.8.5 Resize属性 84 2.8.6 用CurrentRegion属性 84 2.8.7 End属性 85 2.8.8 Union和Interset方法 86 2.8.9 SpecialCells方法 86 2.9 操作Range对象的示例 87 2.9.1 快速定位并填充区域中满足条件的单元格 87 2.9.2 快速定位并删除满足条件的所有数据行 88 2.9.3 根据选择区域执行相应的操作 91 2.10 使用名称 93 2.10.1 名称及“名称管理器”对话框 93 2.10.2 在Excel中创建并使用名称 96 2.10.3 Names集合和Name对象 99 2.10.4 添加指向区域的名称 100 2.10.5 在名称中保存数据 101 2.10.6 隐藏名称 102 2.10.7 处理Excel内置名称 103 2.10.8 改变名称指向的区域 103 2.10.9 查找名称 104 2.11 小结 109 第3章 VBA语言基础 110 3.1 程序设计基本概念 111 3.1.1 标识符 111 3.1.2 运算符与表达式 113 3.1.3 VBA代码规范 116 3.1.4 提高VBA代码运行效率 122 3.1.5 各种有益的VBA编码习惯 124 3.2 数据类型 128 3.2.1 基本数据类型 128 3.2.2 自定义数据类型 130 3.2.3 数据类型间的转换 131 3.3 常量与变量 132 3.3.1 常量 132 3.3.2 变量 134 3.3.3 Option Explicit语句 135 3.3.4 常量和变量的关系 136 3.4 VBA中两种与用户交互的简单方式 136 3.4.1 使用MsgBox函数输出 136 3.4.2 使用InputBox函数获取简单的输入 138 3.4.3 InputBox方法 140 3.5 语句 142 3.5.1 赋值语句 142 3.5.2 注释语句 143 3.5.3 结束语句 144 3.5.4 With语句 145 3.6 小结 146 第2部分 巩固提高篇 第4章 数组 148 4.1 数组的基本概念 149 4.2 声明数组 149 4.3 静态数组 149 4.4 动态数组 150 4.5 为数组元素赋值 151 4.6 数组与Excel对象的交互 152 4.6.1 二维数组与Excel区域 152 4.6.2 数组与Excel区域Range对象的交互 153 4.6.3 数组与Excel名称Name对象的交互 156 4.6.4 使用“监视”窗口查看数组的值 157 4.7 常用的数组内置函数 158 4.7.1 Lbound和Ubound函数 158 4.7.2 Array和IsArray函数 158 4.7.3 Erase函数 160 4.7.4 Split和Join函数 161 4.7.5 Filter函数 161 4.7.6 Index函数 162 4.7.7 Transpose函数 164 4.8 操作数组的自定义函数 165 4.8.1 巩固数组基础知识 165 4.8.2 自定义数组函数 167 4.9 小结 175 第5章 用户窗体及常用内部控件 176 5.1 显示用户窗体 177 5.2 创建用户窗体 177 5.3 直接访问窗体中的控件 179 5.4 阻止关闭按钮 182 5.5 维护数据列表 183 5.6 非模态用户窗体 188 5.6.1 非模态用户窗体特点 188 5.6.2 进度指示条 188 5.7 可变用户窗体名 190 5.8 控件概述 190 5.9 窗体控件和ActiveX控件 190 5.10 ActiveX控件 191 5.10.1 滚动条控件 191 5.10.2 微调按钮控件 192 5.10.3 复选框控件 192 5.10.4 选项按钮控件 193 5.11 窗体控件 194 5.12 动态ActiveX控件 196 5.13 图表中的控件 198 5.14 小结 199 第6章 理解Excel的事件 200 6.1 事件过程介绍 201 6.1.1 事件概述 201 6.1.2 与事件过程相关的概念 201 6.1.3 一个对象的可用事件 201 6.1.4 自动生成事件外壳代码 203 6.1.5 事件代码位置 205 6.1.6 事件层次及事件引发顺序 205 6.1.7 嵌入式图表对象和应用程序对象 208 6.1.8 同一对象的不同事件的引发顺序 208 6.1.9 避免同一事件在不同层次对象中的继续引发 209 6.1.10 Excel对象的事件 210 6.2 工作表事件 210 6.2.1 可用的工作表事件 210 6.2.2 启用事件 211 6.2.3 工作表计算 211 6.3 图表事件 212 6.3.1 可用的图表事件 212 6.3.2 利用双击提供简单的格式化图表功能 213 6.4 工作簿事件 215 6.4.1 可用的工作簿事件 215 6.4.2 保存修改 216 6.4.3 页眉和页脚 216 6.5 小结 217 第7章 图表 218 7.1 图表概述 219 7.2 创建嵌入式图表 220 7.2.1 宏录制器生成的代码 220 7.2.2 整理录制宏代码 221 7.3 创建位于图表工作表中的图表 222 7.3.1 使用宏录制器生成的代码 222 7.3.2 整理录制宏代码 223 7.4 编辑图表中的系列 223 7.5 创建数组系列图表 225 7.6 使用数组赋值图表的数据系列 227 7.7 操作图表系列公式SERIES 230 7.7.1 图表系列SERIES公式的语法及参数 230 7.7.2 获取图表系列公式中的各部分值 231 7.8 添加图表标签 234 7.9 小结 235 第8章 数据透视表 236 8.1 创建数据透视表 237 8.1.1 准备数据源 237 8.1.2 创建数据透视表 237 8.1.3 查看录制的代码 238 8.1.4 整理录制代码 239 8.2 数据透视表缓存集合PivotCaches 241 8.3 数据透视表集合PivotTables 241 8.4 数据透视表字段集合PivotFields 241 8.4.1 在已有数据透视表中添加字段 241 8.4.2 改变数据透视表字段布局 242 8.4.3 改变数据透视表字段布局 244 8.5 处理计算字段CalculatedField 245 8.6 数据字段的所有数据项集合PivotItems 246 8.6.1 分组 246 8.6.2 Visible属性 249 8.6.3 CalculatedItems集合 250 8.7 生成数据透视图PivotChart 250 8.8 使用外部数据源 252 8.9 小结 253 第9章 利用VBA管理数据列表 254 9.1 结构化数据及数据列表 255 9.2 排序区域 255 9.3 创建一个Excel表 258 9.4 排序Excel表 259 9.5 自动筛选 259 9.5.1 AutoFilter对象 261 9.5.2 Filter对象 261 9.5.3 使用日期自定义筛选 262 9.6 使用自动筛选的综合实例 263 9.6.1 准备工作簿及添加 9.6.1 ActiveX控件 263 9.6.2 填充组合框 263 9.6.3 添加组合框的Click事件过程及其调用的筛选过程 264 9.6.4 复制筛选数据行到新建工作表中 266 9.6.5 处理可见行 267 9.6.6 按准确日期筛选 268 9.7 使用高级筛选在不同工作簿之间筛选并传递数据 269 9.7.1 定义名称 270 9.7.2 组织判断条件Criteria区域 270 9.7.3 插入表单控件并编写VBA过程 271 9.8 记录单 271 9.9 小结 273 第10章 错误处理与程序调试 274 10.1 错误类型 275 10.1.1 语法错误 275 10.1.2 运行时错误 275 10.1.3 逻辑错误 275 10.1.4 3种错误类型的比较 276 10.2 错误对象Err 277 10.3 编写完美的无错程序 280 10.3.1 分析功能并初次完成代码 280 10.3.2 代码并不完美 280 10.3.3 代码仍然不完美 281 10.3.4 代码还是不完美 282 10.3.5 放弃编写完美的代码 283 10.3.6 更换运行时错误的处理方式 283 10.4 运行时错误处理 284 10.4.1 未经处理和经过处理的错误 284 10.4.2 错误处理的一般步骤 284 10.4.3 错误处理机制的深层运用 290 10.4.4 复杂错误处理机制之一:函数返回型 292 10.4.5 复杂错误处理机制之二:错误重抛型 295 10.5 编写处理错误的自定义函数 298 10.5.1 判断工作簿是否打开的自定义函数 298 10.5.2 判断工作表是否存在的自定义函数 299 10.5.3 判断给定名称是否存在 299 10.5.4 判断给定变量是否是布尔型变量 300 10.6 程序调试概述 301 10.6.1 VBA提供的调试工具 301 10.6.2 “调试”工具栏 301 10.6.3 处理不易解决错误的通用步骤 302 10.6.4 错误捕获设置 302 10.7 程序的3种模式及其切换 304 10.7.1 设计模式 304 10.7.2 运行模式 304 10.7.3 中断模式 305 10.8 跟踪代码 305 10.8.1 两种常用的设置断点方法 305 10.8.2 跟踪代码的方法及其选择 307 10.9 使用调试窗口 309 10.9.1 “本地”窗口 309 10.9.2 “立即”窗口 310 10.9.3 “监视”窗口 313 10.9.4 “调用堆栈”对话框 316 10.10 调试常用快捷键 317 10.11 使用书签快速切换 317 10.12 小结 318 第11章 功能区 319 11.1 功能区的基础界面 320 11.1.1 功能区中的选项卡 320 11.1.2 功能区的特点 320 11.1.3 快速访问工具栏 321 11.2 使用VBA访问功能区 321 11.2.1 Excel 2007中的CommandBar对象 321 11.2.2 访问一个功能区控件 321 11.2.3 CommandBars对象处理功能区的所有相关方法 323 11.2.4 激活选项卡 324 11.2.5 VBA和功能区 325 11.3 使用RibbonX代码定制功能区 325 11.3.1 定制功能区的特点 325 11.3.2 一个简单的RibbonX示例 326 11.3.3 示例剖析及知识总结 328 11.3.4 功能区XML文件参考 329 11.3.5 另一个RibbonX示例 330 11.3.6 新增一个选项卡 332 11.3.7 定制功能区总小结 336 11.4 小结 338 第3部分 高级编程篇 第12章 命令栏及快捷菜单 340 12.1 工具栏、菜单栏和快捷菜单 341 12.2 Excel内置工具栏 342 12.3 所有级别的控件 344 12.4 创建新菜单 348 12.5 传递参数 350 12.6 删除菜单 350 12.7 创建工具栏 351 12.8 快捷菜单 354 12.9 显示弹出式命令栏 356 12.10 小结 358 第13章 使用ADO的数据访问 359 13.1 结构化查询语言 360 13.1.1 SELECT语句 360 13.1.2 INSERT语句 362 13.1.3 UPDATE语句 363 13.1.4 DELETE语句 363 13.2 ADO概述 363 13.2.1 数据库连接对象Connection 364 13.2.2 记录集对象Recordset 368 13.2.3 字段对象Field 374 13.2.4 命令对象Command 374 13.2.5 二进制数据流或文本流对象Stream 376 13.2.6 错误集合和错误对象Errors & Error 377 13.2.7 ADO操作数据库的一般过程 377 13.3 在Excel应用程序中使用ADO 378 13.4 使用ADO访问Access中数据库 378 13.4.1 连接到Microsoft Access数据源 378 13.4.2 使用纯文本查询从Microsoft Access中获取数据 379 13.4.3 使用存储查询从Microsoft Access中获取数据 381 13.4.4 插入数据 383 13.4.5 更新数据 384 13.4.6 删除数据 386 13.4.7 在Microsoft Access中使用普通无格式文本SQL插入、 10.3.1 更新和删除记录 386 13.5 使用ADO访问Excel中数据 389 13.5.1 查询Excel工作簿 389 13.5.2 在Excel工作簿中插入和更新记录 391 13.6 使用ADO查询文本文件 392 13.7 小结 394 第14章 文件编程 395 14.1 文件的基本概念 396 14.1.1 文件结构 396 14.1.2 文件分类 396 14.1.3 文件的访问类型 397 14.2 文件处理的一般步骤 397 14.3 文件处理中的简单函数和语句 397 14.4 顺序文件 401 14.4.1 打开顺序文件 401 14.4.2 关闭顺序文件 402 14.4.3 顺序文件的写操作 402 14.4.4 顺序文件的读操作 405 14.4.5 顺序文件的读操作示例 406 14.4.6 使用灵活的分隔符 408 14.4.7 生成HTML格式的文件 410 14.4.8 生成XML格式的文件 411 14.5 随机文件 413 14.5.1 打开和关闭 413 14.5.2 写操作 414 14.5.3 读操作 415 14.5.4 修改、追加和删除记录 415 14.6 二进制文件 416 14.6.1 打开和关闭 416 14.6.2 读写操作 416 14.6.3 3种不同类型文件的典型读写操作语句 417 14.7 操作文件和文件夹 417 14.7.1 VBA中有关目录和文件的操作语句及函数 417 14.7.2 综合实例 423 14.8 文件系统对象FSO 426 14.8.1 FSO对象模型及 14.6.3 FileSyetemObject对象 426 14.8.2 Driver对象及获取驱动器信息 428 14.8.3 folder对象及处理文件夹 430 14.8.4 file对象与处理文件 432 14.9 小结 436 第15章 Excel和Internet 437 15.1 使用VBA创建超链接 438 15.1.1 使用宏录制器记录插入超链接过程 438 15.1.2 获取关键对象及方法 438 15.1.3 编写使用插入超链接的代码 438 15.1.4 使用FollowHyperlink方法 439 15.2 Internet中的工作簿 442 15.3 使用VBA创建和发布网页 442 15.3.1 PublishObjects和PublishObject对象 443 15.4 基于Internet的查询 446 15.4.1 在工作簿中打开Web网页 446 15.4.2 使用Web查询 447 15.4.3 解析Web网页以获取特定信息 449 15.5 小结 450 第16章 Excel和XML 451 16.1 XML是Excel的明日之星 452 16.2 XML基础 452 16.2.1 XML声明 453 16.2.2 处理指令 453 16.2.3 注释 453 16.2.4 元素和根元素 453 16.2.5 属性 454 16.2.6 名称空间 454 16.2.7 查看和编辑一个XML文档 455 16.2.8 直接处理XML数据 456 16.2.9 创建并处理自定义XML映射 458 16.3 使用VBA自动化处理XML 461 16.3.1 打开一个XML文档直接映射到列表 461 16.4 使用DOM和XPath操作XML文件 465 16.4.1 使用DOM对象加载XML文件 466 16.4.2 协同使用ADO和DOM将Excel数据转换为XML 467 16.4.3 使用DOM和XPath操作XML文件 470 16.5 小结 475 第17章 类模块 476 17.1 类和类模块 477 17.1.1 类和类模块 477 17.2 类模块的属性 478 17.3 属性剖析 479 17.3.1 私有成员变量 479 17.3.2 Property Let过程 480 17.3.3 Property Get过程 480 17.3.4 Property作用域 480 17.3.5 实现用户定义类型属性 481 17.3.6 实现只读属性 481 17.3.7 在客户应用程序中使用属性 482 17.3.8 在Collection类中使用批量赋值函数 482 17.3.9 在集合类中提供自己的Exists属性 483 17.4 类模块方法 483 17.4.1 自定义方法的作用域 483 17.4.2 为自定义方法传递参数 484 17.4.3 实现自定义类方法 484 17.5 类模块事件 484 17.5.1 Initialize事件 484 17.5.2 Terminate事件 485 17.5.3 实现自定义事件 486 17.6 类模块的其他知识点 488 17.6.1 类模块的Instancing属性 488 17.6.2 允许用户使用For Each……Next语句 488 17.6.3 使用枚举常数 488 17.6.4 错误处理 489 17.6.5 使用Dictionary对象 489 17.7 创建自定义对象 489 17.8 改进自定义对象的属性过程 491 17.9 为自定义对象创建集合 492 17.9.1 在标准模块中使用Collection集合对象 492 17.9.2 在类模块中使用Collection集合对象 493 17.10 封装 495 17.11 捕获应用程序事件 496 17.12 嵌入式图表事件 497 17.13 捕获用户窗体控件事件 500 17.14 在工程间引用类 502 17.15 小结 503 第18章 理解并调用Windows API 504 18.1 API基础 505 18.1.1 API的概念 505 18.1.2 DLL的含义 505 18.1.3 API函数 505 18.1.4 API数据类型 507 18.1.5 Handle、hwnd和hDC 509 18.2 使用API的基本步骤 511 18.2.1 声明API函数 511 18.2.2 调用API函数 515 18.3 剖析API调用 516 18.4 返回API中的错误描述文本 518 18.4.1 编写API错误返回函数 518 18.4.2 调用错误信息返回函数 520 18.5 API示例 520 18.5.1 冻结用户窗体 520 18.5.2 将文件删除到回收站中 523 18.5.3 获取系统信息 524 18.5.4 捕获Shift、Ctrl及Alt键的状态 527 18.5.5 改变用户窗体样式 528 18.6 小结 535 第19章 加载项 536 19.1 加载项概述 537 19.2 Excel加载项 537 19.2.1 概述 537 19.2.2 保护工程以隐藏代码 538 19.2.3 创建加载项 538 19.2.4 关闭加载项 539 19.2.5 代码变化 539 19.2.6 保存更改 540 19.2.7 安装一个加载项 540 19.2.8 从“可用加载宏”列表中移除一个加载项 541 19.3 自动化加载项 542 19.3.1 创建一个简单的单向通信加载项GetSequence 542 19.3.2 在Excel中注册自动化加载项 544 19.3.3 使用自动化加载项 545 19.3.4 创建一个复杂的双向通信自动化加载项 546 19.4 小结 552 第20章 控制其他Office组件 554 20.1 建立链接 555 20.1.1 晚期绑定 555 20.1.2 早期绑定 557 20.2 在Word中打开文档 558 20.3 访问当前的活动Word文档 559 20.4 创建一个新的Word文档 560 20.5 在Excel中使用ADO技术操作Access数据 561 20.6 综合使用Access、Excel和Outlook 562 20.7 小结 566 第21章 操作VBE 567 21.1 开始前的准备 568 21.2 VBE及其对象模型 569 21.2.1 VBE对象模型 569 21.2.2 VBE模型中的对象 570 21.2.3 Excel和VBE对象模型之间的联系 571 21.2.4 引用VBE中的对象 571 21.3 处理VBProject中的各个对象 573 21.3.1 测试指定组件的存在 573 21.3.2 在一个工程中添加模块 574 21.3.3 在一个模块中添加过程 575 21.3.4 创建一个事件过程 576 21.3.5 删除工程中的模块 578 21.3.6 删除模块中的过程 578 21.3.7 删除工程中的所有VBA代码 580 21.3.8 列出工程中所有组件的名称及类型 580 21.3.9 列出模块中的所有过程 581 21.3.10 返回过程的声明部分及其他信息 582 21.3.11 计算一个Component中代码总行数 584 21.3.12 计算一个工程中的总代码行数 585 21.3.13 将一个VBComponent导出为文本文件 586 21.3.14 在工程间复制模块 588 21.3.15 在模块中搜索文本 590 21.3.16 新建一个工作簿并在其中写入代码 590 21.3.17 在操作VBE时防止屏幕闪动 591 21.4 操作窗体组件 592 21.4.1 用代码创建指定数目和大小的按钮 592 21.4.2 窗体控件的Designer对象 593 21.5 在VBE编辑器中添加新的菜单项 596 21.5.1 VBE的命令栏对象 596 21.5.2 在VBE中添加菜单 598 21.5.3 为当前过程添加行号和错误处理 600 21.6 处理其他VBE对象 603 21.6.1 处理引用 603 21.6.2 VBE窗口 604 21.7 小结 605 第22章 创建国际通用程序 606 22.1 Windows区域设置和Office 2007用户语言 607 22.1.1 4个国家的本地化配置 607 22.1.2 辨别用户区域设置和Windows语言 607 22.2 从国际化的角度来看VBA 22.1 的转换函数 607 22.2.1 隐式转换 607 22.2.2 日期字符串 609 22.2.3 IsNumeric和IsDate函数 609 22.2.4 CStr函数 609 22.2.5 CDbl、CSng、CLng、 22.2.5 CInt、CByte、CCur和 22.2.5 CDec函数 609 22.2.6 CDate和DateValue函数 609 22.2.7 CBool函数 610 22.2.8 Format函数 610 22.2.9 FormatCurrency、FormatDate Time、FormatNumber和 22.2.5 FormatPercent函数 610 22.2.10 Str函数 610 22.2.11 sNumToUS函数 610 22.2.12 Val函数 611 22.2.13 Application.Evaluate 612 22.3 与Excel交互 612 22.3.1 为Excel发送数据 612 22.3.2 读取Excel中的数据 614 22.3.3 与Excel协同工作的原则 614 22.4 与用户交流 615 22.4.1 纸张大小 615 22.4.2 显示数据 615 22.4.3 理解数据 615 22.4.4 XXXLocal属性 616 22.4.5 与用户合作的原则 616 22.5 Excel 2007的国际化选项 617 22.6 不遵循普遍规则的属性、 22.6 方法及函数 619 22.6.1 OpenText方法 619 22.6.2 SaveAs方法 620 22.6.3 ShowDataForm子过程 620 22.6.4 粘贴文本 621 22.6.5 数据透视表计算字段和 22.2.5 项目、条件格式和数据 22.2.5 有效性验证公式 621 22.6.6 Web查询 622 22.6.7 =TEXT()工作表函数 622 22.7 Range对象的Value、Formula 22.7 及FormulaArray属性 623 22.7.1 Range.AutoFilter方法 623 22.7.2 Range.AdvanceFilter方法 623 22.8 Application的Evaluate、ConvertFormula和 22.8 ExecuteExcel4Macro函数 624 22.9 Office 2007的语言设置 624 22.9.1 文本来自何处 624 22.9.2 识别Office用户界面语言设置 625 22.10 创建一个多语言应用程序 628 22.10.1 建议的途径 629 22.10.2 存储字符串资源 629 22.11 在多语言环境中工作 630 22.11.1 保留足够的空间 630 22.11.2 使用Excel对象 630 22.11.3 避免使用SendKeys方法 631 22.11.4 使用功能区 631 22.11.5 开发多语言应用程序的原则 631 22.12 有用的自定义函数 631 22.12.1 bWinToNum函数 631 22.12.2 bWinToDate函数 632 22.12.3 sFormatDate函数 633 22.12.4 ReplaceHolders函数 633 22.13 小结 634 第4部分 综合系统篇 第23章 VBA综合实例 636 23.1 学生成绩管理系统 637 23.1.1 系统说明 637 23.1.2 设定工作表结构 638 23.1.3 设计程序登录窗体 640 23.1.4 设置用户权限管理窗体 641 23.1.5 编写窗体及日志记录代码 642 23.1.6 成绩查询 648 23.1.7 定制功能区按钮 653 23.1.8 使用程序 654 23.2 工作表管理综合插件系统 657 23.2.1 系统说明 657 23.2.2 设置主框架 658 23.2.3 批量建立工作表 659 23.2.4 批量复制工作表 661 23.2.5 以输入字符为条件重命名工作表 662 23.2.6 以选区字符为条件重命名工作表 663 23.2.7 排序工作表 664 23.2.8 建立工作表目录 666 23.2.9 批量隐藏/显示工作表 667 23.2.10 设计工具栏与快捷键 668 23.2.11 使用插件 669 附录A 代码窗口中的常用快捷键及其功能 677 附录B 错误列表 679 序言Excel 2007相对于以前版本的Excel,做出了巨大的跳跃。在文件格式上,Excel工作簿由以往的二进制文件格式(.xls、.xla和xlt等)变成开放的XML文件格式(.xlsm、.xlam、.xltm、.xlsx、.xlax和.xltx等);在界面上,传统的菜单和工具栏被换成了功能区,并且图表外观也焕然一新;在功能上,增加和改进了一系列功能,例如丰富的条件格式、可调整的编辑栏、函数记忆式键入、新的OLAP公式和多维数据集函数、改进的排序和筛选功能,以及Excel表格的增强功能等。 这些调整和变化势必造成Excel对象模型的改变,为用户的学习和使用带来困难,而且目前图书市场上比较缺乏全面、系统且深入介绍Excel 2007 VBA编程技术的书籍。本书正是为了弥补这种不足编写的,书中针对Excel 2007新的对象模型,全面深入地剖析Excel 2007 VBA中的各个Excel对象及其使用方法。 本书是一本Excel VBA综合开发参考大全,书中几乎囊括了使用Excel VBA开发Excel应用程序的全部知识,同时在讲解中结合了大量实用并具有代表性的示例。 本书共23章,分为4个部分。各个部分涉及的技术既相互独立,又相互联系。书中逐步引导读者深入学习并掌握Excel VBA的编程知识、方法和技巧,是Excel VBA爱好者和开发人员必备的案头参考书。 文摘在日常Excel使用中,如果需要重复执行同样顺序的命令, 那么就可以使用Excel VBA来使这些过程自动化以节省时间和精力;如果需要创建一个基于Excel的应用程序,但用户本身不熟悉Excel的功能,那么就可以针对特定的任务通过宏来创建一些具有引导功能的按钮和对话框来帮助这些用户完成相应的操作。 在办公室自动化中,Excel VBA是一十Excel可以依靠的非常重要的工具。而其中的宏录柳器又是一个Excel可以依靠的非常重要的工具,用其可以通过鼠标和键盘执行的操作转换为Excel VBA代码,可以手动执行操作中的大部分都可以使用宏录制器来记录。这是一种快捷而简单的方式,不会编写VBA代码的用户也可以很快掌握。许多Excel用户记录并运行宏, 甚至会产生没有必要学习VBA的感觉。事实上很多操作确实不需要专门学习,而熟练使用Excel宏录制器能够解决常见问题,也是学习VBA的一个捷径。 在本章中将说明如何使用宏录制器,以及运行宏的所有方式。读者将学习如何使用Visual Basic编辑器来检查和修改宏,从而不再受到宏录制器的限制。而且能够超出宏录制器有限的能力访问, 并学会使用VBA语言和Excel对象模型的强大功能。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。