如何利用c++读取.doc文档
学习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对象库,释放资源