VC 讀取Word文檔

來源:互聯網
上載者:User

一、首先在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();    //釋放應用程式類對象。

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

 

 

大功告成。核心代碼已給出,如有其他調試問題,自己解決,(*^__^*) 嘻嘻……。good luck。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.