三、程序代码
//////////////////////////////////////////////////////////////////////////// void COperateWordView::OnShowDoc() { // TODO: Add your command handler code here static char BASED_CODE szFilter[]="Word Files(*doc)|*.DOC||"; CFileDialog fd(true,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter,NULL); CString strFilePath;//用来保存打开的文件名; if(fd.DoModal()==IDOK) strFilePath=fd.GetPathName();//获取要打开的Word文档的名字; _Application m_App;//定义Word提供的应用程序对象; Documents m_Docs;//定义Word提供的文档对象; Selection m_Sel;//定义Word提供的选择对象; m_Docs.ReleaseDispatch(); m_Sel.ReleaseDispatch(); m_App.m_bAutoRelease=true; if(!m_App.CreateDispatch("Word.Application")) { AfxMessageBox("创建Word2000服务失败!"); exit(1); } //下面是定义VARIANT变量; COleVariant varFilePath(strFilePath); COleVariant varstrNull(""); COleVariant varZero((short)0); COleVariant varTrue(short(1),VT_BOOL); COleVariant varFalse(short(0),VT_BOOL); m_Docs.AttachDispatch(m_App.GetDocuments()); //将Documents类对象m_Docs和Idispatch接口关联起来; m_Docs.Open(varFilePath,varFalse,varFalse,varFalse, varstrNull,varstrNull,varFalse,varstrNull, varstrNull,varTrue,varTrue,varTrue); //打开Word文档; m_Sel.AttachDispatch(m_App.GetSelection()); //将Selection类对象m_Sel和Idispatch接口关联起来; m_Sel.WholeStory ();//选择文档中的全部内容; m_Sel.Copy();//将数据拷贝到剪贴板 this->GetEditCtrl( ).Paste ();//将数据粘贴到程序的"视"中; m_Docs.ReleaseDispatch();//断开关联; m_Sel.ReleaseDispatch(); } |
四、小结
本实例主要讲述了基于自动化的技术如何操作Word2000,为读者学习自动化客户端程序的开发起到抛砖引玉的作用,读者可以在此基础上,实现对Word2000、Excel2000、PowerPoint2000等服务器端进行更复杂的操作。最后补充一句,如果读者朋友想操作OFFICE98版本的应用程序,只需要引入微软提供的8.0版本的类型库就可以了。 
说明:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
2/2 首页 上一页 1 2 |