-
您的位置:首页 → 精文荟萃 → 软件资讯 → 让你的Office活力四射
让你的Office活力四射
时间:2004/10/7 19:14:00来源:本站整理作者:蓝点我要评论(0)
-
Office软件在不断地前进,新装备和新功能不断涌现。但是有时候,这并不是用户心里想要得到的。他们真正需要的,可能就是一些小小的变化,从而让工作效率更高些。比如,宏就是这样一个好的工具,它上手容易但功能强大,应用得当,将收益非浅。
概 要
本文就介绍10个提供高效工作能力的宏,它们中有些增加了强大的功能,有的排除或改变了潜在的有危险性的函数,有些还会向你显示如何命令程序一起工作。可下载的宏文件含有这里讨论的所有宏,每个宏都可以随时运行,也可以对其进行修改以适应特殊要求。
运行环境
能运行这些宏的程序包括Microsoft Office 套装应用程序以及Windows本身,之所以能够运行,要归功于一个叫做Windows 脚本主机(WSH)的模块。WSH 是Windows 98 和Windows 2000的一个标准功能,要使Win95也具备这个功能,我们可以从Microsoft 的 Web站点下载一个免费更新版本并将它加到Win95上。
虽然这里的例子是对Microsoft Word、Excel、Outlook以及Windows 本身进行控制,但我们也可以对例子中使用的技术进行调整,从而使它们能够控制几乎所有的流行应用程序。例子虽然是用VBA编写的,但是也很容易翻译成其它流行的宏语言,如Jscript 或JavaScript。
下面让我们开始吧!
1、词语互换
你试过在一个文档中将两个词语进行交换吗?举例来说,将所有出现的'seller'变成'buyer'或者与此相反?这能做到,但是不容易。两次简单的"查找-替换"操作是不奏效的,完成互换目的至少需要三次操作和大量的内存消耗。
有更好的方法吗?当然,请使用Word Swapper。运行这个宏,将显示一个小对话框,询问想要交换的两个词或短语是什么。而且它还提供一个Word 中的标准"搜索-替换"选择,例如"区分大小写的匹配"或 "全字匹配"等等。当点击对话框中全部替换按钮时,宏会自动搜索整个文档或者选中的任意部分,然后进行所要求的交换操作。
下面让我们来看看这个宏的实现原理。Word Swapper 进行3个单独的"搜索-替换"操作。第一,它找到某个词或短语出现的全部场合,用一个临时字符串代替它。注意,这个临时字符串应该不出现在文档内的任何地方。然后,Word Swapper用第一个词语或短语替换所有出现的第二个词语或短语。最后,宏用第二个词语或短语替换所有的临时字符串。
2、发送邮件
这个便捷的WSH 宏对Outlook 或者其它MAPI 兼容的 e-mail客户程序进行控制,命令它发送一个文件。将这个宏文件放在你的桌面上,只要双击鼠标就能发送一个文件。这样以来,发送阶段性报告或者其它经常升级的文档变得简单轻松,一击搞定! 在运行之前,我们一定要编辑这个宏:插入想要发送的文件名、接收地址以及标题行。而且,我们可以指定一个以上的文件或接收地址,方法是将它们用一个分号分开,比如:boss@winmag.com;bigboss@winmag.com。
3、文件打开/保存限定器
如果有一个以上的用户使用一个系统,就需要限制每个用户在本地和网上能够使用哪些资源。这个宏让你在基于用户登录信息的基础上,控制一个用户能够阅读或编辑哪些Word文件。选中"文件/打开"时只显示一个经允许的文件的列表,计算机和网络的其余部分则禁止入内。 这些限制信息储存在注册表文件的CURRENT_USER部分,我们也可以编辑宏让用户能够使用全部系统。
这个宏取代了Word 内部的"文件/打开"命令,它不会显示出通常的"文件/打开" 对话框进而在整个计算机或网络中导航,而是显示一个定制的对话框,其中包含一个可用的文件列表。一个文件必须要位于某一特定路径内并具有一定的扩展名才能被包括进去。
这个宏还取代了Word 的"文件/保存"命令。作为菜单选项,它防止用户随意将文件保存在一个新的位置。相反,这个宏调用标准"保存"函数,保留了文件的原始文件名和位置。
4、限定管理器
有了上面提到的宏,我们还需要一个管理器来创建并修改这些限制信息。限定管理器宏就完成这个功能,它负责创建并修改CURRENT_USER 注册表条目。它首先请求允许一个用户使用的驱动器和路径;然后它提示管理器要求一个通配符(如 *.doc)用于在过滤某个特定路径的文件;最后,它显示管理器的条目并将它们存储在注册表文件中。
因为WSH脚本允许我们指定限定的路径,甚至可以取消限定,所以不要将它留在用户的机器上。否则他们就可以用它使宏失效。限定管理器在WSH 下运行,使用之后,就可以将它从计算机上删除。它存储了WSH 内部WSHShell.RegWrite 函数的输入信息。在宏的结尾有3行注释,这些注释以省略号开头。如果将这些行的省略号去掉,它们就会删除"文件打开/保存"限定所使用的全部注册条目,并将注册文件返回其原始状态。这也同样会取消限定器的作用。
当然,我们还可以对它所使用的技术进行修改,以显示、改变或删除存储在Windows注册文件中的任何信息。
5、删除最近使用列表
在"文件"菜单的最下部一般是"最近使用文件列表",聪明的用户也许会从这里选择一个文件,从而避开上面提到的"文件打开/保存"限定器。要堵塞这个漏洞,或者让那些好奇的眼睛看不到最近进行的工作,请使用删除最近使用列表宏。而且,我们还可以使用相同的技术锁住或取消其它程序功能。例如,可以在宏代码的任意地方增加一行FeatureInstall = msoFeatureInstall OnDemandWithUI ,这就将Office 新的Install on Demand(根据命令安装) 功能设置为自动,这样第一次使用这些新功能时不需要用户干预就可以进行安装。
每次应用程序启动时,Word都会执行AutoExec子程序下的所有宏指令。我们可以将宏放在NORMAL.DOT中,从而每次打开任何文档它都会运行。也可以把它放在另一个模板中,那么只有打开附加这个模板的文档时它才运行。
让我们看看这个宏的实现原理。实际上,删除最近使用列表宏是将应用程序的 DisplayRecentFiles 属性设置为False。为了防止用户以后改变这个选项,当用户选择了"工具/选项"菜单时,这个宏还会替换Word执行的子目录,接着显示标准的"选项"对话框。用户对"选项"对话框进行修改之后,这个宏会再次取消最近使用列表。这样,就可以忽略用户可能对这个特别选项所做的任何修改,同时允许对程序的其它选项进行修改。
6、编辑日志
你是否希望应用程序能够保持一个列表,其内容是关于编辑了哪些文件以及修改这些文件的时间?使用编辑日志宏就可以做到!虽然这里的例子是将这个功能增加到Word中,但是我们完全可以把相同的技术用于加强 Excel以及其它应用程序。它会自动维护一个不可视的被打开和被保存的文件列表,而不需要任何干预。这个列表存储在文件WINMAG.LOG中,其中包含各个文件的完整名称(包括驱动器和路径)、文件被打开或保存的日期和时间。如果想将日志内容写到文件WINMAG.LOG以外的位置,还可以指定另一个文件,方法是将objLogger.LogFileName = "C:\WinMag.log" 这一行修改成类似于objLogger.LogFileName = "C:\My Documents\LogEntries.txt"的样子。
日志文件条目存储的格式是用Tab键隔开的值(TSV),这样就比较容易将它们引入电子表格文件中。 来看看这个宏的实现原理。宏开始几行代码在AutoExec 子程序中。其中一行负责创建宏的定制Logger对象的一个实例。这个对象以后将创建所有的自动日志条目。另一行存储日志文件名,以被宏的其它部分使用。AutoExec 中的最后一行建立第一个日志条目,记录Word的启动日期和时间。
这个宏的其它部分位于一个叫做Logger的类模块中,在这里有 4个应用程序事件处理器。每当打开一个文档时就调用其中一个,而另一个则是在关闭或保存一个文档之前被调用。第三个处理器是每当有一个新文档被创建时就自动执行,第四个在Word退出之前运行。它们都调用另一个类模块子程序LogWrite,实现将适当的日志条目写入硬盘中。
7、快速单词统计
许多应用程序都能显示一个文档或文件中单词的数目,但是其中大部分都包含了许多其它信息,如字符、句子和段落数。如果我们需要的就是单词的数目,那么收集这些额外信息会浪费大量的时间。快速单词统计可以实现我们的目的,它只是统计单词数目并在窗口底部的状态条中显示这个结果。如果想统计字符数而不是单词数,只需要将第三行改为 StatusBar = "Words in document: " & ActiveDocument.Characters.Count。
还是让我们走到幕后看看这个宏的实现原理。它首先从ActiveDocument 对象的Word.Count 属性中找到当前的或激活的文档中的单词的数目,然后将这个数字存储在应用程序的StatusBar 属性中以显示信息。如果发生了一个错误,比如不存在激活的文档,宏就会显示一个错误信息。
8、大批量搜索-替换
电话号码、地址、公司名称以及产品名称这类信息经常会改变,而且有时候许多信息会同时改变。不要烦,如果遇到这种情况,请使用大批搜索-替换宏。它读取一个包含许多修改内容的请求文件,然后自动向激活的文档中进行请求的所有修改。这个请求文件是一个简单文本文件,每一行都包含一个要搜索的单词或短语,后面跟随一个制表符以及一个要替换的单词或短语。在这个文件中包含多少行都可以。
当宏运行时,首先显示一个对话框,我们可以在其中键入请求文件名,并选择任意标准"搜索-替换"选项。当点击对话框中的全部替换按钮时,宏会每次读取请求文件中的一行并进行所请求的置换。如果点击了全部取消按钮,所有的置换都会翻转过来。
9、电子邮件通知器
在OutLook中,有新邮件到来时,我们会收到相应信息的提示。这个提示可能是一个小图标、一声短短的响声或者一个简单的对话框,但是通常都很不醒目。没有关系,请试一试电子邮件通知器宏,它会改变Outlook 的新邮件抵达提示方式,使我们再也不会忽略它。当一个新邮件到达时,电子邮件通知器会显示一个很大的对话框,并且反复地演奏一个选中的WAV或 MIDI 文件,直到我们点击这个对话框中的OK 按钮。
它是如何实现的呢?这个宏以 Outlook中的新邮件事件处理器开始,每当有一个新的电子邮件信息到达时,子程序Application_NewMail都会被自动调用,显示一个大大的对话框,然后反复调用Windows API PlaySound 函数来演奏选中的声音文件。
10、助手
我们一定很熟悉什么是Office助手了,那个可爱的卡通人物,动感十足地悬浮在应用程序上面。在Windows 2000中,助手特性已经成为标准功能的一部分。如果想在Windows 98或者Windows 95中也看到这个活泼的东东,请从以下这个地址下载免费版本:
http://msdn.microsoft.com/workshop/imedia/agent/agentdl.asp
程序安装后,我们就可以在其他应用程序中使用这个特性,这其中当然也包括自己编写的宏代码。
这里介绍的宏将使用一个助手(Peedy the Parrot:鹦鹉Peedy)来显示个人信息。并且,借助可免费下载的text-to-speech(文字到语言)转换器,Peedy还可以仿照你说话呢!
如果想看看另外的助手卡通人物是什么样子,我们可以修改strName = "Peedy"这行为strName = "Genie" 或者 strName = "Merlin" 或者strName = "Robby"。
我们还可以修改助手的开场问候语,比如,将行objChar.Speak ("Hello! I'm " & strName) 修改为objChar.Speak ("Howdy Pardner!")。
结 语
OK,介绍到此完毕,你是否感觉很好!这些宏确实非常美妙,希望你的感觉也同样美妙!
相关阅读
Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
-
热门文章
360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3
最新文章
微信3.6.0测试版更新了微信支付漏洞会造成哪
360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗
人气排行
xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本
查看所有0条评论>>