您的位置:首页 > 其它

vc操作word读写

2010-11-25 14:38 363 查看
继续带来一片com的应用文章,关于word的读写问题,其实关于word的读写操作代码不麻烦,麻烦在于类库的引用,试验了很长时间草搞定。



#pragma  warning(disable:4259)
#import  "C://Program Files//Common Files//Microsoft Shared//Office11//MSO.DLL"
using   namespace   Office;
#import "C://Program Files//Common Files//Microsoft Shared//VBA//VBA6//VBE6EXT.OLB"
//using   namespace   VBIDE;
#import "C://Program Files//Microsoft Office//OFFICE11//MSWORD.OLB" rename("ExitWindows","WordExitWindows")
using namespace Word;
#include <atlbase.h>
#include <iostream>
using namespace std;
main(){
	CoInitialize(0);
	{	
		_ApplicationPtr   m_WordPtr; 
		DocumentsPtr   m_DocsPtr; 
		_DocumentPtr   m_DocPtr; 
		HRESULT   hr; 
		try{ 
			//CLSID sid;
			//CLSIDFromProgID(L"word.application",&sid);
			hr=m_WordPtr.CreateInstance(__uuidof(Application)); 
			
			m_WordPtr->put_Visible(VARIANT_TRUE);
			m_DocPtr=m_WordPtr->Documents->Add();
			SelectionPtr sel=m_WordPtr->GetSelection();
			sel->TypeText(_bstr_t("sadsaS12as"));
			sel->MoveEnd();
			InlineShapePtr sh=sel->GetInlineShapes()->AddPicture(_bstr_t("c://1.jpg"));
			sel->SetRange(1,2);
			//sel->TypeText(_bstr_t("!!!!!!!"));
			sel->Delete();
			_bstr_t text=sel->GetText();
			char *s=_com_util::ConvertBSTRToString(text);
			cout<<s<<endl;
			m_WordPtr->GetActiveDocument()->SaveAs(&CComVariant("c://1.doc"));
			//m_WordPtr->Quit();
		} 
		catch(_com_error   *e) 
		{ 
			MessageBox(NULL, "haha ", "no   word ",MB_OK); 
			return   -1; 
		} 
	}
CoUninitialize();
	return   0; 

}






本文操作的对象是word2003,不同版本库的引用会有些差别,其它大同小异。

本文有不足之处,还望大家多多指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: