杨老师VisualC中操纵MS123.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
杨老师VisualC中操纵MS123

对杨老师佩服不已! 又搜到他写的《Visual C++ 中操纵 MS Word 123》。在源代码中,介绍了我一直不太摸得着头脑的CComVariant, COleVariant, _variant_t变量,所以摘记于此,方便查阅。  HYPERLINK /index.php/wv/906.html \t _blank Visual C++ 中操纵 MS Word 123 步步为营: 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 Step1: #include msword9.h//为了使代码集中,方便阅读,所以把头文件放到了这里 void CStep1Dlg::OnOK()? { _Application app;//定义一个WORD的应用对象 if(!app.CreateDispatch(_T(Word.Application)))//启动WORD { AfxMessageBox(_T(居然你连OFFICE都没有安装吗?)); return; } AfxMessageBox(_T(WORD 已经运行启动啦,你可以用Ctrl+Alt+Del查看)); app.SetVisible(TRUE);//设置WORD可见。 //当然,如果你想要悄悄地调用WORD的功能,则注释掉这条语句 AfxMessageBox(_T(现在你已经看到WORD的程序界面了吧)); AfxMessageBox(_T(WORD准备要退出啦)); VARIANT SaveChanges,OriginalFormat,RouteDocument;//定义调用QUIT时使用的参数 SaveChanges.vt=VT_BOOL;//设置退出WORD时候的保存参数 SaveChanges.boolVal=VARIANT_FALSE;//为不保存任何文档,模板及设置 ::VariantInit(OriginalFormat);//清空变量 RouteDocument.vt=VT_EMPTY;//清空变量的另一种方法 //调用Quit退出WORD应用程序。当然不调用也可以,那样的话WORD还在运行着那 app.Quit(SaveChanges,OriginalFormat,RouteDocument); app.ReleaseDispatch();//释放对象指针。切记,必须调用 AfxMessageBox(_T(Step1执行完成。接着请学习Setp2)); } Step2: #include msword9.h #include AtlBase.h //新增加了一个头文件,为使用CComVariant替代VARIANT做准备 void CStep2Dlg::OnOK()? { //以下3行代码,同Step1。就不解释啦 _Application app; //为了简单,没有判断返回值。如果没有成功,记得检查你有没有AfxOleInit()呀? app.CreateDispatch(_T(Word.Application)); app.SetVisible(TRUE); AfxMessageBox(_T(WORD已经启动,现在要退出啦)); AfxMessageBox(_T(怎么和Step1没有什么区别呀?)); AfxMessageBox(_T(嘿嘿,是没什么区别,但是使用方式简单了很多呀。看看源程序吧)); //准备调用_Application::Quit函数了,需要定义3个参数。 //但是,这次我们使用CComVariant,这是一个模板类。 //在定义的时候直接调用带参数的构造函数,比VARIANT使用简单多了吧 CComVariant SaveChanges(false),OriginalFormat,RouteDocument; //使用 CComVariant 的不带参数的构造函数,默认就是使用VT_EMPTY,设置为空类型 //另外,除了CComVariant,你还可以使用COleVariant和_variant_t,但我个人最

文档评论(0)

178****9325 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档