如何利用c++讀取.doc文檔

來源:互聯網
上載者:User

學習c++不是很久,昨天逛論壇,偶遇這樣一個題目,遂在網上尋找相關內容。

現總結下我的經驗。

首先建立一個win32控制台程式,注意要選擇支援MFC選項。

然後選擇視圖->類嚮導,點擊Add Class;選擇Import from Type Library;將Office安裝目錄下的MSWORD.OLB開啟,會出現如下對話方塊:

將_Application,Documents,_Document,Range四個類匯入。

在主函數的else語句中添加如下代碼即可實現。

_Application  wordApp; //在對象繼承結構中是最頂層的對象,可以通過它的方法訪問別的工作類型的對象(本例主要是word) 
Documents  docs;  //代表所有開啟的文檔對象
_Document  doc; 
Range  aRange;  
       
COleVariant  vTrue((short)TRUE),   
vFalse((short)FALSE),   
vOpt((long)DISP_E_PARAMNOTFOUND,  VT_ERROR);  
       
wordApp.CreateDispatch("Word.Application",NULL); 
wordApp.SetVisible(FALSE); 
docs=wordApp.GetDocuments();
doc=docs.Open(COleVariant(filename...),vFalse,vTrue,vFalse,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt);
aRange=doc.Range(vOpt,vOpt);

string str(aRange.GetText());
cout<<str<<endl;
doc.Close(vOpt,vOpt,vOpt); 
wordApp.Quit(vOpt,vOpt,vOpt);
CoUninitialize(); //關閉COM物件程式庫,釋放資源

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.