当前位置: 首页 > 图文教程 > 工具软件 > 办公软件 > Visual C++操纵MS Word

办公软件
word教程:了解文档中的域的使用
Word教程:巧用域帮助你输入数学公式
Word技巧:快速实现双面打印的四种方法
Word 2007技巧:半角全角自由转换的设置
Word技巧:教你制作漂亮的文本框
Office实用技巧:四把金钥匙让你的工作变轻松
Word技巧:批量删除文档中回车的方法
Word2007技巧:宏命令给所有文档加上统一密码
Word技巧:查看帮助时使用的快捷键
Word技巧:用替换实现中英文混排文档中的空格
Word教程:批量处理文档中字体和格式的小技巧
Word教程:运用页码标识在长文档中快速定位
Word 2007教程:“替换”功能实现在空白表格中写入字符
Word教程:给文档中加入背景音乐的技巧
另类应用Word:教你玩儿桌面美化
Word教程:不用删减文字给文档瘦身
Word教程:轻松制作试卷密封装订线卷头的技巧
word教程:把PPT文字转换成Word文档的四个技巧
Word2007教程:运用表格模板插入表格技巧
Word教程:如何在Word2007中显示书签

办公软件 中的 Visual C++操纵MS Word


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 86 ::
收藏到网摘: n/a

    使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序......只要是Office能够实现的功能,都可以在你写的程序中调用。仔细阅读下面的说明,并下载源文件进行参考,你就可以一步一步地掌握这个技术。祝朋友们学习快乐。

    一、概念

    Microsoft 的 Office 产品中,都提供了OLE Automation 自动化程序的接口。如果你使用VB,VBA 和 Script 脚本调用 Office 功能的话,其实比使用 VC 调用要简单的多。比如在 WORD 中,调出菜单“工具(T)宏(M)录制新宏(R)”,这时候它开始记录你在 WORD 中任何菜单和键盘的操作,把你的操作过程保存起来,以便再次重复调用。而保存这些操作的记录,其实就是使用了 VBA 程序(Visual Basic for Application)。而我们下面要实现的功能,也同样要参考 VBA 的方法。

    二、结构层次

    为了更有逻辑,更有层蔚夭僮?Office,Microsoft 把应用(Application)按逻辑功能划分为如下的树形结构

    Application(WORD 为例,只列出一部分)

    Documents(所有的文档)

    Document(一个文档)

    ......

    Templates(所有模板)

    Template(一个模板)

    ......

    Windows(所有窗口)

    Window

    Selection

    View

    Selection(编辑对象)

    Font

    Style

    Range

    ......

    ......

    只有了解了逻辑层次,我们才能正确的操纵 Office。举例来讲,如果给出一个VBScript语句是:

    application.ActiveDocument.SaveAs "c:abc.doc"

    那么,我们就知道了,这个操作的过程是:第一步,取得Application;第二步,从Application中取得ActiveDocument;第三步,调用 Document 的函数 SaveAs,参数是一个字符串型的文件名。

    三、基本步骤

    (1)创建(或打开已有的)一个 MFC 的程序工程

    (2)Ctrl+W 执行 ClassWizard(本文按照 VC6 操作,例子程序也是在VC6 下编写测试的)

    (3)Add Class...From a type Library... 在 Office 目录中,找到你想使用的类型库。(我使用的是 Office2000,其Word 的类型库文件,保存在 C:Program FilesMicrosoft OfficeOfficeMSWORD9.OLB)根据你 Office 的版本,可以使用下表列出的类型库文件

Office 版本和类型 类型库文件 Office 版本和类型 类型库文件
Access 97 Msacc8.olb PowerPoint 2000 Msppt9.olb
Jet Database 3.5 DAO350.dll Word 2000 Msword9.olb
Binder 97 Msbdr8.olb Access 2002 Msacc.olb
Excel 97 Excel8.olb Excel 2002 Excel.exe
Graph 97 Graph8.olb Graph 2002 Graph.exe
Office 97 Mso97.dll Office 2002 MSO.dll
Outlook 97 Msoutl97.olb Outlook 2002 MSOutl.olb
PowerPoint 97 Msppt8.olb PowerPoint 2002 MSPpt.olb
Word 97 Msword8.olb Word 2002 MSWord.olb
Access 2000 Msacc9.olb Office Access 2003 Msacc.olb
Jet Database 3.51 DAO360.dll Office Excel 2003 Excel.exe
Binder 2000 Msbdr9.olb Graph 2003 Graph.exe
Excel 2000 Excel9.olb Office 2003 MSO.dll
Graph 2000 Graph9.o