|
书买了好几天了,看了一些章节。《Excel VBA程序开发自学宝典》是一本讲述VBA语言理论基础及开发VBA程序的书,从入门级的程序语法概念讲起,到开发综合程序及大型插件,适合新手及提需要提高学习的读者。
全书共32章,分以下五个部分:
入门篇:VBA优势、功能与概念
进阶篇:VBA语法、过程与事件
登堂篇:VBA数组、窗体与控件
入室篇:文件管理、菜单、API、VBE与加载项(包括封装DLL插件)
攀峰篇:开发通用插件(包括Excel百宝箱7.0的设计过程及源代码展示)
该书从一个VBA插件的应用开始叙述,通过插件的应用展示VBA相对于其它知识面在功能上的优越性。然后逐步分VBA的历史、概念、编辑器、语法规则、数组、函数、文件目录与磁盘管理等VBA语言的基础,让读者了VBA编辑器与语法有基本的认识,再讲述三类程序的开发思路与语法,包括VBE环境中中专用的程序(即程序员写程序时才用的工具)、VB编写的DLL插件(加载项,展示加密型程序的封装过程),以及工作簿中通用的加载宏程序(包括xla和xlam插件)。在最后一章中,演示Excel百宝箱第7版的设计,所以不仅可以得到百宝箱源代码,还可以学习百宝箱的开发过程。
该书约60%的篇幅讲述VBA的理论与语法基础,然后对脚本语言、FileSystemObject、DOS语言在VBA中的配合应用进行了详述。Wscript和FSO、DOS等等有VBA不具备的特点,但VBA可以调用它们来提高VBA的文件、目录、磁盘的管理功能,所以学习多语句搭配的应用对工作有较大帮助。
例如查看“我的文档”的目录,可以用以下代码:
Sub 获取我的文档的目录树()
Dim objShell As Object, DosExec As Object
Set objShell = CreateObject("WScript.Shell")
Set DosExec = objShell.Exec("cmd.exe /c tree " & CreateObject("Wscript.Shell").SpecialFolders("MyDocuments")) '利用DOS中的Tree获取我的文档目录树
objShell.Popup DosExec.StdOut.ReadAll, , "显示目录" '利用脚本显示对话框(MSGBOX有字符限制)
Set DosExec = Nothing
Set objShell = Nothing
End Sub
这是VBA、Wscript和DOS命令的搭配应用。
再如获取E盘下“Excel”文件夹的创建时间、修改时间和容量,可用以下代码:
Sub 获取文件夹信息()
Dim FileSys As Object, folder1 As Object
Set FileSys = CreateObject("Scripting.FileSystemObject")
If FileSys.FolderExists("E:\EXCEL ") Then '如果E:\EXCEL文件夹存在
Set folder1 = FileSys.GetFolder("E:\EXCEL") '获取文件夹实例
MsgBox "创建日期: " & folder1.DateCreated & Chr(10) & "最后修改:" & folder1.DateLastModified & Chr(10) & "容量大小:" & folder1.Size
End If
End Sub
这是FSO搭配VBA的应用案例。
在最后约40%的篇幅中,讲述开发插件的理论基础与开发思想,并实际演示多个插件的过程。在开发过程中,特别对程序开的的通用性和防错性方面做了大量的讲解,读者可以从中懂得如何提升程序的兼容性和容错性。
该书的随书光盘中有97-2003专用的案例文和2007专用的案例文件,让所有读者都可以正常的打开文件,取得代码,免除安装转换软件的烦恼。
除案例文件外,光盘中还有Excel百宝箱第七版的所有源代码,以及7集VBA程序开发的视频教材,包括“开发提示性输入工具箱”、“开发公农历日期输入器”、“工作簿拆分及彩蛋设计”、“开发通用二级选单插件”、“监控单元格历史记录”、“设计计划任务向导”、“用VB开发自动化加载项”等7集,同时配备了7集教材中所用到的代码。将视频教材与Excel文件搭配会有更好的学习效果,这对于初学者会提供较大的帮助。当然,如果你有了VBA的基础,本书照样让你有耳一新的感觉,有很多的空间等待你挖握。比如书的讲述的类模块、API、FSO等等知识,再如DLL插件的封装知识………..
总的来说,本书适应的人群包括三类:
一是VBA入门者,可以通过本书系统地学习VBA知识;
二是已有VBA基础,但需要扩充知识面,让自己的程序具有更好的通用性、纠错性及更高的执行效率者,本书对程序的优化、纠错等方面进行了大量的论证;
三是VBA程序爱好者,可以编写过程来解决自己工作中的问题,但想开发更专业的商业软件者。本书对开发开源的商业软件进行了介绍,包括自动化加载项和COM加载项。
[ 本帖最后由 little-key 于 2009-11-12 20:59 编辑 ] |
|