添加类型库到工程 在应用程序中添加对Word支持的方法有很多,但无非以下两大类:一类是自己编写代码或借助第三方提供的程序开发包实现对Word的支持;另一类方法是直接在程序中对Word提供的各种外部功能接口进行调用而同样达到支持Word的目的。前一种方法工作量相对较大,而且无论是在功能上还是在可靠性方面都很难达到与Word一样的水准。后一类方法实际是采取某种技术途径而将支持Word文档的功能转交给Word软件去完成,这样的处理显然能够达到与Word一样的对Word文档文件的支持水平。这一类方法主要借助DDE或COM等技术途径实现,本文将通过COM中的自动化技术借助Word提供的各种外部功能接口实现对Word文档的支持。采用这种方式可以尽可能少的占用自动化客户的资源,并且不需要被访问对象的类型信息就可以进行调用。 下面给出具体实施过程。字处理软件通常采取单文档或多文档程序结构,为了使用Word提供的COM 组件,建立的应用程序需要是包容器,因此在用AppWizard创建一个新的MFC AppWizard(EXE)工程时选择单文档视图(SDI)或多文档视图(MDI)结构,并在第3步选中Container,以提供容器支持。 其它可采取默认选项。在ClassView中将产生如下类: 应用类: CEmbed_WordApp in Embed_Word.h and Embed_Word.cpp 框架类: CMainFrame in MainFrm.h and MainFrm.cpp 文档类: CEmbed_WordDoc in Embed_WordDoc.h and Embed_WordDoc.cpp 视图类: CEmbed_WordView in Embed_WordView.h and Embed_WordView.cpp 容器类: CEmbed_WordCntrItem in CntrItem.h and CntrItem.cpp 接下来添加Word类型库到工程。在View菜单中选择ClassWizard子菜单,从弹出对话框的Automation选项卡中点击Add Class按钮,选择From a TypeLibrary并在Office目录中选中Microsoft Word 97/2000 类型库Word8.olb或Word9.olb,这将把类型库中的所有类添加到你的工程中。这时,ClassView中会多出几十个类,可以通过这些类提供的接口来实现对Word文档的支持。 |