文档详情

VC 中操作word.docx

发布:2017-12-14约3.19千字共7页下载文档
文本预览下载声明
VC 中操作word第一步在函数InitInstance() 中加入如下代码1.如果是word 2003if ( CoInitialize(NULL) !=0 ) {AfxMessageBox(初始化COM支持库失败);exit(1);}如下图如果是 word 2007 ,加入如下代码:if(TRUE != AfxOleInit()){AfxMessageBox(初始化COM支持库失败);exit(1);}如下图第二步3.打开ClassWizard—Add Class—From a type library,选择本机word8.OLB文件(最好先查找一下该文件,word2000为Word9.0LB,office2007 为MSWORD.OLB 一般在安装目录Microsoft Office\Office12 下)。选择Application、Documents、Document、Window、View 、Range、Bookmarks、Bookmark、Fields、FieId加入新类、头文件word.h、源文件word.cpp。如下图经过以上的添加后,在系统的存放代码文件的目录下会多出两个文件 msword.cpp msword.h。同时在VC 环境下查看类会发现多出了刚才添加的word里面的一些类,如下图所示打开对应的头文件,在文件的头部添加:#include comdef.h#include AtlBase.h#include windows.h第三步设计模板,准备一个word的模板,即*.dot格式的word文件,可以用word自己创建一个。在word中用户随意设计好报表的格式,并在相应需要程序修改的位置插入书签,书签用于将程序中想要输出变量的值带入模板中,模板中的书签名字一定要与程序中的一致,笔者建议将程序中变量的名字做为书签。模板设计的好坏,直接影响到报表打印的效果,程序只起到将程序中变量的值输出到模板中。Word 中书签的插入的操作如下图。随后将设计生产好的模板文件,放在和代码同一级的目录下。第四步相关代码的编写,源代码如下(下面的代码是操作word 2007)。其中在模板中留了2个书签,一个插入文字,一个插入图片,最后进行打印.void CWordDlg::OnWordButton() {// TODO: Add your control notification handler code here_Application WordApp; //WoM应用程序对象Documents WordDocs;//文档对象_Document WordDoc;Window window;View view;Range range;Bookmarks bookmarks;//书签对象Bookmark bookmark;Fields fields; //域对象 Field field;if(!WordApp.CreateDispatch(_T(Word.Application)))//启动WORD{AfxMessageBox(_T(OFFICE可能没有安装));return;}WordApp.SetVisible(true);//true可见,false不可见WordApp.SetWindowState(2);//0正常,1最大化.2最小化WordDocs= WordApp.GetDocuments();//模板文件路径_variant_t WordTemplate=C:\\Documents and Settings\\Administrator\\桌面\\word\\templete.doc;//为转义字符//利用模板文件建立新文档WordDoc=WordDocs.Add(WordTemplate,vtMissing,_variant_t(),_variant_t(true));//由于用户会对WORD进行一些个性化设置,但用户的设置会引起一些误操作。//以下代码设置WORD”工具一选项一视图”中的一些选项。window =WordApp.GetActiveWindow();view = window.GetView();view.SetShowPicturePlaceHolders(false);//不显示图片框view.SetShowBookmarks(false);//不显示书签view.SetShowFieldCodes(false);//不显示域代码//以下将程序中的值代人WORD模板中//测站名 bookmarks=WordDoc.GetBookmarks();bookmark = bookmarks.Item(_variant_t(text)); //Office模板中对应书签名range= bookmark
显示全部
相似文档