返回列表 发帖

《守柔WORD编程代码集》

《守柔WORD编程代码集》

本文章为PDF文档(请鼠标右键另存)

守柔WORD编程代码集

以下节选自《序》部分:

    一)             序

本书是作者在EXCELHOME(http://club.excelhome.net/index.asp)Word版中的部分原自创作品,其中的部分代码是作者耗费大量精力所创,在已知的国内外各WORD论坛中所未见。读者在阅读本书相应代码时,可从相关链接中进行对原帖的查阅,以便能够更好地理解和掌握代码的含义和适用范围。

作者整理此书的目的之一,就是希望让有一定WORD基础的朋友能够通过此书的讲解,以提高对WORD以及MS(Microsoft )的认识和操作技能,并希望本书能对想学习VBA和正在学习VBA的读者有所裨益。

在阅读本书之前,作者先阐述一下VBA(Visual Basic for Applications)的作用原理:VBA是捆绑在Appliation对象(此处则指Word.Application,简称Word)的一个后台程序;VBE(Visual Basic Editor)是指编辑VBA的一个程序/编辑器(在WORD中按下ALT+F11即可进入),从对象角度看,有Application.VBE(即VBE是附属于Application对象的一个对象),从工程角度看,有ActiveDocument.VBProject(当前文档的VBA工程)。我们知道,Microsoft 系统产品是以Windows(广义,非单指WIN系统)著称,是泛指以窗口型的可视化程序,用户与电脑通过程序进行数据交换和人机对话,用户所有的前台(直接用鼠标、键盘等)和后台(编程)操作,都是面向对象的操作。因此正确理解对象的概念、集合、属性、方法是非常必要的。从大范围讲,Application(应用程序)是一个大对象(最顶层),任何允许用户操作的地方都存在指定的对象,比如常见的标题栏名称(Application.Caption),最大化最小化按钮(Application.WindowState),所有的菜单、工具栏、命令等等都是一个对象,用户最常用的是Selection对象,即选中的内容,Word中是作为Selection对象来处理的,如选中的文字,选中的表格,选中的图形等等,大到Application对象(最顶层),小到一个字符(Character)甚至一个光标,对于VBA而言,都是一个对象。根据对象分工不同,对象还有父对象、子对象等等。我们通常编程,可以以不同的方式访问对象、修改对象的属性或者指定对象进行特定的动作等。在WORD中,最重要的对象是Selection对象和Range对象,相当于Excel中的ActiveCell和Range对象。

下面我们来讨论一下为什么要编程:Word程序为用户设计了许许多多具有普遍规律的对象的操作方法和属性修改,对于常规的规范化操作,只要用户充分了解了WORD中的操作规律并进行了规范操作,使用WORD的前台功能,已经能基本解决常规问题;但对一些不具有普遍规律并且用户自定义的非规范内容的长时间多次数反复操作,则不可能提供一个完全的、千遍一律的解决方法,那么WORD(Microsoft Office)是如何来解决这个问题的呢?Microsoft Word(Office)在这里为我们提供了强有力的编程手段,编程语言正是解决虽然不具有普遍操作意义的命令,但能使用少数用户的部分WORD功能强化的代码;对于简单的重复组合命令,我们可以通过录制宏的方法进行录制,也可以在录制结束后进行适当的简化,但基本以Selection对象为主,而且录制的宏中每一个对象的所有属性几乎全部被记录,整个代码非常大,效率就低;更为主要的是录制的宏中,对于判断性结构语句,循环语句,函数等等的,是没有提供记录的,所以,要使我们的宏适用于用户、适用于一个特定的操作过程,就需要使用编程来完成。

认识宏安全性:宏是WORD(Microsoft Office)提供给用户或者编程人员的一个特定的后台操作环境中的一组代码,是用来完成指定操作的一个过程(大到工程),从广义角度讲,任何不是用户愿意看到的结果的代码,都可以称之为病毒;从狭义角度讲,病毒是专门用来危害用户的操作系统、危害用户的应用程序并使用户在无知情况下进行非自愿性操作的恶意代码并可能具有自身的复制和传播与变性。对Word而言,我们可以设定宏安全性,这样可以禁止宏的运行或者选择性地运行一些宏,从上述内容中我们也可以看到,如果不用宏,我们很多的自动化、复杂的工作等等都会因之不能使用。因此,宏是一柄双刃剑。但随着MS的防范机制的增加、用户水平的增高、用户杀毒软件的及时有效使用,都会避免恶意病毒(代码)的入侵。退一步而言,以VBA的形式编写的宏病毒,影响是有限的。因此,读者首先不要产生谈宏(Macro)色变的想法,要宏为我所用,同时也提醒编程人员,编程要有所为,有所不为。

了解宏的作用原理:WORD应用程序的所有内置命令、模块、过程,不会在VBE中出现,而所有的宏(录制宏、复制宏、代码编程等)均寄生于文档的VBProject中,当用户结合事件触发后或者运行后,才能作用于特定对象,完成特定操作或者返回特定数据。

本书中可能涉及的对象,主要有:节(Sections)的循环,段落中(Paragraphs)的循环,句子(Sentences)的循环,词组中(Words)的循环,字(Characters)的循环,表格(Tables)的循环,单元格(Tables(Item).Range.Cells)的循环,自选图形(Shapes)的循环,域(Fields)的循环,书签(Bookmarks)中的循环等等,函数的应用、选择性分支语句、判断语句、错误处理、类模块的使用、用户窗体的使用、数组的应用、Automation等等,不一一列举,读者可根据自身情况,逐一进行渐进式学习。

对于书中所涉及的一些代码可能读者还会有更好的、更简单的方法,也或者有些代码还会存在这样那样的问题,这都有待于读者的反馈与交流。在编程上,我们常说的一句话是:没有最好,只有更好;另外,我也可能会更新部分代码,请注意相关链接。

另外由于Office 版本号的不同,其中的属性对象方法等也不尽相同,但可向下兼容。

如读者有任何疑问可发送邮件到 shourou_8@hotmail.com,我将尽快给予答复,有MSN的朋友也可以直接通过MSN进行交流。



说明:本文档所涉及的所有代码和中文复制均在VBE中文代码复制器中完成(简化了代码头),全部的代码头说明如下:

作者:Created By 守柔(ShouRou)

时间:2004-12-21 09:21:36

仅测试于System: Windows NT Word,是指Windows2000, Word: 10.0为OFFICE/Word XP(2002),Language: 2052为OFFICE安装语言是中文版(如英文版则为:1033;CopyIn [ThisDocument-ThisDocument]中的前一个ThisDocument是指当前模块为所在的类模块为"ThisDocument",后一个ThisDocument是指该类模块的工程名称,使读者可以方便知道模块位置。
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
2

评分人数

好东西,使劲顶

TOP

感謝樓主,提供分享這好東西,謝謝 !!! 頂  頂 頂
人要活到老學到老的精神,勤學習求進步,不怕做不到只怕付出努力不夠.

TOP

好呀

TOP

谢谢楼主,太好了,加精华啊!!!

TOP

very very very useful

many many many thanks!!!!!

TOP

好東西
開啟中

TOP

Thanks a lot.

由于在网站上看太卡,我把它下载下来了。再次感谢!

TOP

斑竹的东西当然是好东西了,谢谢

TOP

新手感谢提供好东东。

TOP

细看一下,感谢了

TOP

不顶不行啊,顶…顶……顶……

TOP

我也来顶下……谢谢

TOP

如何下載,在

TOP

如何下載,在鏈結網頁找不到對應文件

只在裡面找到一個序,文檔未找到!

TOP

太感谢楼主啦!!!
May Dream Guide Me In The Days To Come!

TOP

真是好东东,学到不少知识

TOP

Originally posted by 守柔 at 2005-2-16 06:22 AM:
本书收录了作者在EXCELHOME中的部分原自创作品,希望能对想学习和正在学习VBA的网友们带来福音。
http://excelhome.net/Article/ShowArticle.asp?ArticleID=256


我怎么就看到一个序呀?好东西在那里???:(

TOP

Originally posted by basilizak at 2005-3-22 03:41 PM:


我怎么就看到一个序呀?好东西在那里???:(

文章开头有一句“本文章为PDF文档,请根据点击下面的链接进行下载,请使用Adobe Reader进行浏览!”。下面一行是大字的“守柔WORD编程代码集”,你将鼠标放到上面,会变成手形,点击鼠标就可以打开了。不过1.你要耐心等待;2.你的机器上要装有PDF文档浏览器。文档打开后,你想保存的话,窗口左上角的工具栏有个软盘图标,点击它就可保存了。

TOP

haodongxibudingbuxing

TOP

返回列表