请问各位大侠,怎么通过vc查找或者替换word中的字符.
我用了find.execute() 方法,不知道对不对,创建了个单文当的程序,响应命令函数去创建word,但是提示"创建Word2000服务失败"请帮我看下.
void CWordTextView::OnTest()
{
// TODO: Add your command handler code here
BeginWaitCursor;
COleVariant vTrue((short)TRUE), vFalse((short)FALSE),
vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
_Application App;//定义Word提供的应用程序对象;
Documents Docs;//定义Word提供的文档对象;
Selection Sel;//定义Word提供的选择对象;
Docs.ReleaseDispatch();
Sel.ReleaseDispatch();
App.m_bAutoRelease=true; if(!App.CreateDispatch("Word.Application"))
{
AfxMessageBox("创建Word2000服务失败!");
exit(1);
}
//App.SetVisible(TRUE);
//下面是定义VARIANT变量;
COleVariant varFilePath("D:\\GPRS1800_plus.tem");
COleVariant varstrNull("");
COleVariant varZero((short)0);
COleVariant varTrue(short(1),VT_BOOL);
COleVariant varFalse(short(0),VT_BOOL);
Docs.AttachDispatch(App.GetDocuments());//将Documents类对象m_Docs和Idispatch接口关联起来;
Docs.Open(varFilePath,varFalse,varFalse,varFalse,
varstrNull,varstrNull,varFalse,varstrNull,
varstrNull,varTrue,varTrue,varTrue,vOpt,vOpt,vOpt); //打开Word文档;
Sel.AttachDispatch(App.GetSelection());//将Selection类对象m_Sel和Idispatch接口关联起来;
Selection sel=App.GetSelection(); _Document oActiveDoc;
oActiveDoc = App.GetActiveDocument();
Tables tabs=oActiveDoc.GetTables();
Table tab1=tabs.Item(1);
Cell cefisr=tab1.Cell(1,2);
cefisr.Select();
Sel.TypeText("123");
tab1.ReleaseDispatch();
tabs.ReleaseDispatch();
oActiveDoc.SaveAs(COleVariant("D:\\GPRS1800_plus.tem"),
COleVariant((short)0),
vFalse, COleVariant(""), vTrue, COleVariant(""),
vFalse, vFalse, vFalse, vFalse, vFalse,vOpt,vOpt,vOpt,vOpt,vOpt);
Docs.ReleaseDispatch();//断开关联;
Sel.ReleaseDispatch();
//退出WORD
App.Quit(vOpt, vOpt, vOpt);
App.ReleaseDispatch();
EndWaitCursor();
//退出WORD
App.Quit(vOpt, vOpt, vOpt);
App.ReleaseDispatch();
EndWaitCursor();
}
我用了find.execute() 方法,不知道对不对,创建了个单文当的程序,响应命令函数去创建word,但是提示"创建Word2000服务失败"请帮我看下.
void CWordTextView::OnTest()
{
// TODO: Add your command handler code here
BeginWaitCursor;
COleVariant vTrue((short)TRUE), vFalse((short)FALSE),
vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
_Application App;//定义Word提供的应用程序对象;
Documents Docs;//定义Word提供的文档对象;
Selection Sel;//定义Word提供的选择对象;
Docs.ReleaseDispatch();
Sel.ReleaseDispatch();
App.m_bAutoRelease=true; if(!App.CreateDispatch("Word.Application"))
{
AfxMessageBox("创建Word2000服务失败!");
exit(1);
}
//App.SetVisible(TRUE);
//下面是定义VARIANT变量;
COleVariant varFilePath("D:\\GPRS1800_plus.tem");
COleVariant varstrNull("");
COleVariant varZero((short)0);
COleVariant varTrue(short(1),VT_BOOL);
COleVariant varFalse(short(0),VT_BOOL);
Docs.AttachDispatch(App.GetDocuments());//将Documents类对象m_Docs和Idispatch接口关联起来;
Docs.Open(varFilePath,varFalse,varFalse,varFalse,
varstrNull,varstrNull,varFalse,varstrNull,
varstrNull,varTrue,varTrue,varTrue,vOpt,vOpt,vOpt); //打开Word文档;
Sel.AttachDispatch(App.GetSelection());//将Selection类对象m_Sel和Idispatch接口关联起来;
Selection sel=App.GetSelection(); _Document oActiveDoc;
oActiveDoc = App.GetActiveDocument();
Tables tabs=oActiveDoc.GetTables();
Table tab1=tabs.Item(1);
Cell cefisr=tab1.Cell(1,2);
cefisr.Select();
Sel.TypeText("123");
tab1.ReleaseDispatch();
tabs.ReleaseDispatch();
oActiveDoc.SaveAs(COleVariant("D:\\GPRS1800_plus.tem"),
COleVariant((short)0),
vFalse, COleVariant(""), vTrue, COleVariant(""),
vFalse, vFalse, vFalse, vFalse, vFalse,vOpt,vOpt,vOpt,vOpt,vOpt);
Docs.ReleaseDispatch();//断开关联;
Sel.ReleaseDispatch();
//退出WORD
App.Quit(vOpt, vOpt, vOpt);
App.ReleaseDispatch();
EndWaitCursor();
//退出WORD
App.Quit(vOpt, vOpt, vOpt);
App.ReleaseDispatch();
EndWaitCursor();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货