代码示例一
object replaceAll = WdReplace.wdReplaceAll;
ThisApplication.Selection.Find.ClearFormatting();
ThisApplication.Selection.Find.Text = "111";
ThisApplication.Selection.Find.Wrap=WdFindWrap.wdFindContinue;
ThisApplication.Selection.Find.Forward=true;
ThisApplication.Selection.Find.Replacement.ClearFormatting();
ThisApplication.Selection.Find.Replacement.Text = "222";
ThisApplication.Selection.Find.Execute(ref missingValue,
ref missingValue, ref missingValue, ref missingValue,ref missingValue, ref missingValue, ref missingValue,ref missingValue, ref missingValue, ref missingValue,ref replaceAll, ref missingValue, ref missingValue,ref missingValue, ref missingValue);
代码示例二
添加引用:COM下的Microsoft Word 11.0 Object Liabrary
private static object nullobj = System.Reflection.Missing.Value;

/**//// <summary>
/// search in a DOC file(查询DOC文件的内容)
/// </summary>
/// <param name="fileName"></param>
/// <param name="searchForText">要搜索的文本</param>
/// <param name="CaseSensitive">是否区分大小写</param>
/// <returns></returns>
public static bool SearchInDoc(string fileName,string searchForText,bool CaseSensitive)

{
bool Result = (searchForText.Length == 0);
object filename = fileName; //要打开的文档路径
object MissingValue=System.Reflection.Missing.Value;//Type.Missing;
object readOnly = false;
Microsoft.Office.Interop.Word.Application wp = null;
Microsoft.Office.Interop.Word.Document wd = null;
try

{
wp = new Microsoft.Office.Interop.Word.ApplicationClass();
wd = wp.Documents.Open(ref filename,ref MissingValue,
ref readOnly,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue);
int i=0,iCount=0;
Microsoft.Office.Interop.Word.Find wfnd;
if (wd.Paragraphs != null && wd.Paragraphs.Count>0)

{
iCount = wd.Paragraphs.Count;
for(i=1;i<=iCount;i++)

{
wfnd=wd.Paragraphs[i].Range.Find;
wfnd.ClearFormatting();
wfnd.MatchCase = CaseSensitive;
wfnd.Text = searchForText;
if (wfnd.Execute(ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue,ref MissingValue,
ref MissingValue))

{
Result = true;
break;
}
}
}
}
catch(Exception ex)

{
throw new Exception(ex.Message);
}
finally

{
if(wd != null)

{
wd.Close(ref nullobj,ref nullobj,ref nullobj);
System.Runtime.InteropServices.Marshal.ReleaseComObject(wd);
wd = null;
}

if(wp != null)

{
wp.Quit(ref nullobj,ref nullobj,ref nullobj);
System.Runtime.InteropServices.Marshal.ReleaseComObject(wp);
wp = null;
}

GC.Collect();
}

return Result;
}
本文提供了一个使用C#在Word文档中进行文本搜索的方法,包括如何遍历文档的段落进行精确匹配,并演示了替换操作的具体实现。
3057

被折叠的 条评论
为什么被折叠?



