MFC操作word.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MFC 操作 word
- 资源描述:
-
Visual C++ 中操纵 MS Word 123 分享到:新浪微博腾讯微博更多-- 收藏 发布日期: 2004-07-09 11:26 浏览次数: 1181次 标 签: COM 文章评分: 5.0 操 作: 下载源文件打印 杨老师 称号:未设置 简介:... 文章概要: 使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序......只要是Office能够实现的功能,都可以在你写的程序中调用。仔细阅读下面的说明,并下载源文件进行参考,你就可以一步一步地掌握这个技术。祝朋友们学习快乐。 使用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 Files\Microsoft Office\Office\MSWORD9.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.olb Office Outlook 2003 MSOutl.olb Office 2000 Mso9.dll Office PowerPoint 2003 MSPpt.olb Outlook 2000 Msoutl9.olb Office Word 2003 MSWord.olb (4)选择类型库文件后,在弹出的对话窗中继续选择要添加的类。具体选择什么类,要看你将来在程序中打算调用什么功能。当然,你也可以不用考虑这么多,用鼠标和Shift键配合,全部选择也可以。 (5)初始化COM。方法一,找到App的InitInstance()函数,在其中添加 AfxOleInit()函数的调用;方法二,在需要调用COM功能的地方 CoInitialize(NULL),调用完毕后 CoUninitialize()。 (6)在你需要调用 Office 功能函数的 cpp 文件中 #include // 为了方便操作 VARIANT 类型变量,使用 CComVariant 模板类 #include "头文件.h" // 具体的头文件名,是由装载类型库的文件名决定的。(鼠标双点包装类的文件,就可以看到) // 比如使用 msword9.olb类型库,那么头文件是 msword9.h (7)好了,现在开始写程序吧。另外要说明的是,步骤3和4,其实也可以使用 #import 方式引入类型库。 四、实现技巧 在书写调用 Office 函数的过程中,最困难的是确定函数的参数,一般情况下,参数都是 VARIANT 类型的变量指针。那么到底具体我们应该怎么写那?推荐两个方法,其一是阅读有关 VBA 的书籍;其二,是使用 Office 中自带的“宏”功能。强烈推荐大家使用第二个方法,把你要完成的功能,在 Office 的操作环境中,用宏录制下来,然后观察分析录制后的函数和参数,就可以在 VC 中使用了。举一个例子: view source print? 1.ActiveDocument.SaveAs FileName:="Hello.doc", FileFormat:=wdFormatDocument _ 2. , LockComments:=False, Password:="", AddToRecentFiles:=True, _ 3. WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _ 4. SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _ 5. False 以上是在 Word 中录制的一个保存文件的宏,而在 VC 中对应的函数原型为 view source print? 1. void _Document::SaveAs(VARIANT* FileName, VARIANT* FileFormat, VARIANT* LockComments, 2. VARIANT* Password, VARIANT* AddToRecentFiles, VARIANT* WritePassword, 3. VARIANT* ReadOnlyRecommended, VARIANT* EmbedTrueTypeFonts, VARIANT* SaveNativePictureFormat, 4.VARIANT* SaveFormsData, VARIANT* SaveAsAOCELetter) 分析对照后,我们就能看出,参数 FileName 是字符串 VARIANT(VT_BSTR),参数 LockComments 是布尔VARIANT(VT_BOOL),等等。参数 FileFormat := wdFormatDocument 是什么类型那?其实这是一个表示保存的时候指定文件类型的常量,而且显然是 DWORD 类型VARIANT(VT_I4)。那么常量的数值又是多少那?很简单,写一个宏,调用函数 MsgBox 显示一下不就都知道啦?! 五、步步为营 特别提示一:编译执行前,一定要先关闭 KV 实时监视病毒的功能(KV 的程序会干扰我们的调用,瑞星的则没关系)。 特别提示二:在例子程序中,为了表现程序的关键部分,没有或很少使用了条件判断。为了实现你程序的健壮性,请自己加上条件判断和异常处理。 Step1:如何启动和关闭 WORD,及 VARIANT 的最基本的使用方法 Step2:和 Step1 同样功能,用 CComVariant 改进了 VARIANT 的使用方式 Step3:在 Step2 的基础上,新建一个 WORD 文档,并从程序中传送一些字符到 WORD Step4:在 Step3 的基础上,保存 WORD 文档 Step5:一个小应用举例,把输入的汉字按照“笔画”排序 Step6:一个小应用举例,盗窃正在使用的 WORD 文档 以上这6个小程序中,都有详细的注释。大家阅读后慢慢体会并实验,你就可以自由地操纵任何一个 Office 啦。 六、参考:Microsoft Office Development with Visual Studio展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




MFC操作word.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/6272173.html