您的位置:首页 > 其它

使用msword.olb操作word(2)

2015-05-27 11:23 204 查看
摘要:使用msowrd.olb实现将另一个doc文件中的内容,赋值到当前打开的word文件中,并使用现当前文件的格式设置。也就是实现两个doc文件内容合并。

例子:

_Application oWordApp;
Documents	 oWordDocs;
_Document	 oWordDoc;
_Document	 oWordDoc_;
Selection	 oWordSel;
Selection	 oWordSel_;
Bookmarks	 oWordBkmks;
Bookmark	 oWordBkmk;

COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOpt((long)DISP_E_PARAMNOTFOUND,VT_ERROR);

if (!oWordApp.CreateDispatch(_T("Word.Application")))
{
AfxMessageBox(_T("Word CreateDispatch Failed!"));
return ;
}

try
{
oWordApp.SetVisible(TRUE);
oWordApp.Activate();
oWordDocs = oWordApp.GetDocuments();

CString strDoc_= _T("C:\\正文.doc");
oWordDoc_ = oWordDocs.Open(COleVariant(strDoc_),vFalse,vFalse,vFalse,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt);
oWordSel_  = oWordApp.GetSelection();
oWordSel_.WholeStory();
oWordSel_.Copy();

oWordSel_.ReleaseDispatch();
oWordDoc_.Close(vOpt,vOpt,vOpt);
oWordDoc_.ReleaseDispatch();

CString sField = _T("发文标题");
CString strDoc = _T("C:\\红头.doc");
oWordDoc  = oWordDocs.Open(COleVariant(strDoc),vFalse,vFalse,vFalse,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt);

oWordSel = oWordApp.GetSelection();

oWordSel.GoTo(COleVariant((short)-1),vOpt,vOpt,COleVariant(sField));
oWordDoc	= oWordApp.GetActiveDocument();
oWordBkmks	= oWordDoc.GetBookmarks();
oWordBkmks.SetDefaultSorting(-1);
oWordBkmks.SetShowHidden(FALSE);

oWordDoc.Save();

oWordSel.PasteAndFormat(0);

oWordDoc.Save();

oWordBkmks.ReleaseDispatch();
oWordSel.ReleaseDispatch();
oWordDoc.Close(vOpt,vOpt,vOpt);
oWordDoc.ReleaseDispatch();
oWordDocs.ReleaseDispatch();
}
catch(...){}

oWordApp.Quit(vOpt,vOpt,vOpt);
oWordApp.ReleaseDispatch();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: