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

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

**适用于:**本主题中的信息适用于 Word 2007 和 Word 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

以下代码搜索当前的选定内容,并将出现的所有 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 解决方案中的可选参数