批量查找替换的实现
2011-10-10梁海珍
梁海珍
(武警指挥学院,天津 300250)
0 引言
Word作为常用的办公软件之一,提供了查找替换功能,可根据设定对文档内容进行查找替换,但一次只能完成一项查找替换,当有多项需要替换时就需要设置多次,操作比较麻烦。如“1”替换为“一”,“五笔”替换为“拼音”,就需要进行两次设置完成替换。本例通过VC++调用Word组件,可设置多个查找替换项,对当前Word文档进行批量查找替换,为办公带来极大便利。
1 实现原理
Microsoft的Office产品,都提供了OLE Automation自动化程序的接口,使用VB、VBA和Script脚本调用Office功能比使用VC++调用要简单得多。比如在Word中,调出菜单“工具—宏—录制新宏”,这时候开始记录Word中任何菜单和键盘的操作,并把操作过程保存起来,以便再次重复调用。这些操作记录的保存,其实就是使用了VBA程序(Visual Basic for Application)。VC++调用 Word 组件,同样要参考VBA的方法,通过查看宏代码,可以清楚地看出要使用哪些类、哪些成员函数。每一个Microsoft Office应用程序都在dll文件中提供了多种类型库资源,这种 dll文件叫做目标库(*.olb)。VC++调用Word组件,需要导入库文件并导入相关的类才能使用Word中的各种功能。不同版本的应用程序其类型库文件的名字不同,如Word 2003为msWord.olb,Word 2000 为 msWord9.olb。
2 编程实现
编程采用VC++和Word 2003实现,只需在安装有Word的机器上即可运行本例。本例选用数字、字母、汉字、特殊符号,实现了多种形式符号的替换。
通过VC++调用Word组件即用自动化功能从Visual C++应用程序中控制Microsoft Office组件,在VC++中使用代码组件一般有三种方法:(1)使用COM 库函数;(2)使用 MFC 的 ClassWizard;(3)使用#import指令。本例采用第二种方法,将涉及到Word中有关查找替换类导入添加到VC++程序中,如查找类Find,替换类Replacement等,根据需要进行参数设定调用函数。……
