VC读取Word文档

一、首先在VC下建立简单的对话框程序,然后打开类向导,点右边的Add Class-》from a library,找到word的封装类库,一般在C:/Program Files/Microsoft Office/Office12(我的是word2007),里面有MSWORD8.OLB或MSWORD9.OLB(我的是MSWORD.OLB),打开,选其中的_Application、Documents、 _Document、Selection四个类。

二、然后在用到的.h或.cpp里面添加#include "msword.h",#include "atlbase.h"和#include "comdef.h"。然后在程序的initInstance函数里加入

/*初始化COM组件,此处为msword*/
 if(!AfxOleInit())
 {
  AfxMessageBox("Could not initialize COM services");
  return FALSE;
 }

准备工作结束。

下面的代码写在窗体的OnInitDialog() 函数里面。(里面的IDC_RICHEDIT1为CRichEditCtrl)

 

 

_Application m_App;         //Word应用程序对象
 Documents m_Docs;          //Word所有文档对象
 _Document m_doc;   //Word文档对象
 Selection m_Slection;        //文档选择对象

 COleVariant  vTrue((short)TRUE),   
            vFalse((short)FALSE),   
            vOpt((long)DISP_E_PARAMNOTFOUND,  VT_ERROR);   

 
 //**************************************************************
 try
 {
  if(!m_App.CreateDispatch(_T("Word.Application")))    //启动Word
  {
   AfxMessageBox(_T("请检查是否安装了Office"));
   return FALSE;
  }
  m_App.SetVisible(false);
  m_Docs = m_App.GetDocuments();
  CComVariant Template(_T(""));
  CComVariant NewTemplate(false),DocumentType(0),Visible;
  m_doc=m_Docs.Open(COleVariant("C://remotecaptureguide.doc"),vFalse,vTrue,vFalse,vOpt,vOpt,
   vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt); //打开已有word文档
  //m_doc=m_Docs.Add(&Template,&NewTemplate,&DocumentType,&Visible); //添加新的空白文档

 }
 catch(_com_error &e)
 {
  MessageBox(e.ErrorMessage());
 }
 
 //读取文本
 m_Slection=m_App.GetSelection();//Word文档光标输入点
 m_Slection.GetSections();    //获取光标点
 m_Slection.WholeStory();    //对当前文档全选
 SetDlgItemText(IDC_RICHEDIT1,m_Slection.GetText());   //设置文本内容

 //销毁对象
 m_Slection.ReleaseDispatch();   //释放selection对象
 m_Docs.ReleaseDispatch();    //释放Documents对象
 m_doc.Close(vOpt,vOpt,vOpt);
 m_doc.ReleaseDispatch();  //释放Document对象
 m_App.Quit(vOpt,vOpt,vOpt);
 m_App.ReleaseDispatch();    //释放应用程序类对象。

 //*****************************************************************

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值