作者:乔山办公网日期:
返回目录:word文档
1.你说的这个主要是取得word接口 然后配合word自带的宏完成任务 实现起来很简单
COleVariant vTrue((short)TRUE), vFalse((short)FALSE),
vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
_Application m_App;//定义Word提供的应用程序对象;
Documents m_Docs;//定义Word提供的文档对象;
Selection m_Sel;//定义Word提供的选择对象;
m_Docs.ReleaseDispatch();
m_Sel.ReleaseDispatch();
m_App.m_bAutoRelease=true;
if(!m_App.CreateDispatch("Word.Application"))
{
AfxMessageBox("创建WordXP服务失e799bee5baa6e58685e5aeb9334败!");
exit(1);
}
//下面是定义VARIANT变量;
COleVariant varFilePath(sPath+"MYDOC.DOC");
COleVariant varstrNull("");
COleVariant varZero((short)0);
COleVariant varTrue(short(1),VT_BOOL);
COleVariant varFalse(short(0),VT_BOOL);
m_Docs.AttachDispatch(m_App.GetDocuments());//将Documents类对象m_Docs和Idispatch接口关联起来;
m_Docs.Open(varFilePath,varFalse,varFalse,varFalse,varstrNull,
varstrNull,varFalse,varstrNull,varstrNull,varTrue,varTrue,
varTrue,varTrue,varTrue,varTrue);
//打开Word文档;
m_Sel.AttachDispatch(m_App.GetSelection());//将Selection类对象m_Sel和Idispatch接口关联起来;
下面就是操作了~
2.用批处理做不到 如果只是这样子的话 连VC都可以省了 VBS 就能做到
比如新建一个c:\1.doc 里面写上wangtk1982 然后保存退出
编辑下面文件为vbs文件 运行看看结果
Dim oWord
Set oWord = WScript.CreateObject("Word.Application")
set myDoc =oWord.Documents.Open("c:\1.doc")
With oWord.Selection.Find
.Text = "1982"
.Replacement.Text = "2011"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
oWord.Selection.Find.Execute ,,,,,,,,,,1
myDOc.Save
myDoc.Close
oword.Quit