17,741
社区成员
发帖
与我相关
我的任务
分享
private void WordReplace(string filePath, string strOld, string strNew)
{
///实例化顶级对象
Microsoft.Office.Interop.Word.Application app = new ApplicationClass();
object nullobj = System.Reflection.Missing.Value;
object nullobj1 = System.Reflection.Missing.Value;
object file = filePath;
//实例化Document对象
Microsoft.Office.Interop.Word.Document doc = app.Documents.Open
(ref file, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj);
doc.Activate();
//做替换操作
try
{
//doc.Content.Text = doc.Content.Text.Replace(strOld, strNew);
app.Selection.Find.ClearFormatting();
app.Selection.Find.Replacement.ClearFormatting();//《---------------------ERROR
app.Selection.Find.Text = strOld;
app.Selection.Find.Replacement.Text = strNew;
object objReplace = WdReplace.wdReplaceAll;
app.Selection.Find.Execute(ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref objReplace, ref nullobj,
ref nullobj, ref nullobj, ref nullobj);
object filename = @"F:\XXXXX.doc"; //文件保存路径b
//保存
doc.SaveAs(ref filename, ref nullobj1, ref nullobj1,
ref nullobj1, ref nullobj1, ref nullobj1,
ref nullobj1, ref nullobj1, ref nullobj1,
ref nullobj1, ref nullobj1, ref nullobj1,
ref nullobj1, ref nullobj1, ref nullobj1, ref nullobj1);
}
catch
{
MessageBox.Show("替换文件失败");
}
finally
{
//关闭
doc.Close(ref nullobj, ref nullobj, ref nullobj);
//关闭应用
app.Quit(ref nullobj, ref nullobj, ref nullobj);
}