如何:在文档中搜索和替换文本

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Word 2003

  • Word 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

使用 Find 对象可以遍历 Microsoft Office Word 文档来搜索特定的文本、格式设置或样式,并使用 Replacement 属性替换找到的所有项。

以下代码搜索当前的选定内容,并将出现的所有 find me 字符串替换为 Found 字符串。若要使用此示例,请从项目内的 ThisDocument 或 ThisAddIn 类中运行此示例。

示例

Private Sub SearchReplace()
    Dim FindObject As Word.Find = Application.Selection.Find
    With FindObject
        .ClearFormatting()
        .Text = "find me"
        .Replacement.ClearFormatting()
        .Replacement.Text = "Found"
        .Execute(Replace:=Word.WdReplace.wdReplaceAll)
    End With
End Sub
private void SearchReplace()
{
    Word.Find findObject = Application.Selection.Find;
    findObject.ClearFormatting();
    findObject.Text = "find me";
    findObject.Replacement.ClearFormatting();
    findObject.Replacement.Text = "Found";

    object replaceAll = Word.WdReplace.wdReplaceAll;
    findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref replaceAll, ref missing, ref missing, ref missing, ref missing);
}

编译代码

Find 类有一个 ClearFormatting 方法,Replacement 类也有自己的 ClearFormatting 方法。执行查找和替换操作时,必须使用这两个对象的 ClearFormatting 方法。如果仅对 Find 对象使用该方法,文本替换的结果可能会无法预料。

使用 Find 对象的 Execute 方法替换每个找到的项。若要指定要替换的项,请使用 Replace 参数。此参数可为下列 WdReplace 值之一:

请参见

任务

如何:在文档中搜索文本

如何:在 Word 中设置搜索选项

如何:依次通过在文档中找到的项

如何:在搜索后还原选定内容

概念

了解 Office 解决方案中的可选参数