AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > VC编程

VC中通过自动化客户端操作Word2000

51自学网 2015-08-30 http://www.wanshiok.com

  三、程序代码

////////////////////////////////////////////////////////////////////////////
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不保证资料的完整性。

上一篇:用VC++打造有多语言菜单的应用程序  下一篇:用VC在IE浏览器的工具条上添加命令按钮