前言
Excel是一款极优秀的表格设计与数据分析软件。特别是它所集成的VBA语言可以对Excel程序进行二次开发,大大拓展了Excel的功能,使Excel不再局限于设计表格,而具有了程序改造、插件开发与多任务批处理的功能。
本书目的
Excel VBA是一门强化、改造Excel的程序语言。利用VBA通常可以完成两大类任务:解决自己的工作问题(强化)和开发通用软件(改造)。而市场上大量的VBA书籍大都属于前者,侧重讲述VBA基本语法及如何利用VBA处理一个具体的工作中的疑难问题,而对于开发通用型插件来延伸Excel的通用功能这方面则少有涉及。本书旨在弥补这种不足,在VBA理论的基础之外重点阐述如何开发插件,以适应一个群体的需求,而非仅仅处理个人的临时性问题。
本书除60%的篇幅普及VBA相关的理论知识外,还对如何提升程序的通用性、防错、提速等方面进行反复的阐述与论证,通过大量的实例传授程序的优化之道,及如何让程序在新旧版本的Excel中都能准确无误地执行。
另外,对于与VBA相关的其他边缘性知识体系也做了系统的介绍,例如脚本语言WScript、文件管理系统FileSystemObject、DOS磁盘管理系统与API函数在VBA中的应用。通过本书,读者可以对VBA有相当完善的认识与理解,并建立自己的程序开发思想,具备开发大中型专业程序的能力。
本书结构
《Excel VBA程序开发自学宝典》是一本讲述VBA语言理论基础及开发VBA程序的书,全书共32章,分以下五个部分:
● 入门篇:VBA优势、功能与概念
● 进阶篇:VBA语法、过程与事件
● 登堂篇:VBA数组、窗体与控件
● 入室篇:文件管理、菜单、API、VBE与加载项
● 攀峰篇:开发通用插件
各部分的章节内容安排如下:
本书特点
相对于同类书籍,本书在内容编排上具有以下特点:
1.除对VBA语言的基础语法与对象操作解说外,重点展示如何开发一个独立完善的插件。而非仅仅局限在通过VBA解决一个临时性工作问题,通过本书,你完全可以实现编写自己的商业性软件,也可以开发一个完善的管理系统。
2.本书程序非常注重通用性,所有程序代码都通用于Excel 2003和Excel 2007。不管用户使用的Excel 2003还是Excel 2007,都可以正常执行书中所有代码。
3.本书对代码的执行速度有较多的笔墨叙述,而且总结了13条代码优化的规则。
4.本书除VBA基本语法的教学外,另一个重点是如何开发插件。相对于普通的宏过程,开发插件的难度更高,通用性、防错性等要求都更严谨。本书通过对大型插件的程序思想、思路以及步骤进行详述,从而促使读者对VBA程序语言的理论有更深入的认识与运用。
5.详述利用VB 6.0企业版开发具有更高安全性的COM加载项,读者可以借此开发自己的商业软件。
6.除VBA外,本书还包括了WScript、FileSystemObject、DOS、API等语言的应用,将这些语言配合VBA可以扩充VBA的功能,完成更多的工作需求。
光盘文件
本书的随书光盘包括书中所有实例文件的代码,以及作者精心开发的大型插件“Excel百宝箱7.0”源代码。
本书以Excel 2007的界面进行叙述,但随书光盘中的案例区分Excel 2003和Excel 2007两个版本。不管是Excel 2003用户还是Excel 2007用户都可以正常打开文件,完全不会因版本不同而给学习带来障碍,也不需要安装转换软件。
另外,本书还配备视频教材,包括开发提示性输入工具箱、开发公农历日期输入器、工作簿拆分及彩蛋设计、开发通用二级选单插件、监控单元格历史记录、设计计划任务向导、用VB开发自动化加载项等7集,同时配备了7集教材中所用到的代码。将视频教材与Excel文件搭配会有更好的学习效果。
适合读者群
本书对VBA的基础理论有比较详尽的介绍,而对VBA的高级知识——数组、类模块、API、VBE组件操作与插件设计也有大量的理论阐述与案例演示。
本书适应的人群包括三类:
一是VBA入门者,可以通过本书系统地学习VBA知识;
二是已有VBA基础,但需要扩充知识面,让自己的程序具有更好的通用性、纠错性及更高的执行效率者,本书对程序的优化、纠错等方面进行了大量的论证;
三是VBA程序爱好者,可以编写过程来解决自己工作中的问题,但想开发更专业的商业软件者。本书对开发开源的商业软件进行了介绍,包括自动化加载项和COM加载项。
本书作者
本书主要由作者罗刚君编写,作者是多个大型论坛的版主,有着丰富的VBA程序设计经验。Excel百宝箱是其标志性作品,包括100个增强性Excel插件工具。读者可以从光盘中获取该工具。
作者专门创办了一个售后服务论坛,读者对本书有任何疑问或者建议,都可以登录以下网址参与交流:
另外参与本书写作的还有龚丹、李妍妍、张理功、刘星辰、张文丽、郑亚梅、周礼英、刘小琴、杨斌、杨阳、黎玲、陈小春、张宏展、章兰新、吴旭东等,在此一并表示感谢。
编著者2009-7-21