學習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物件程式庫,釋放資源