查找突出显示的文

时间:2018-01-26 15:00:49

标签: c# ms-word

以下代码在Word文档中查找单词“Family”的实例。它选择并删除实例。代码工作正常,但我想找到只有突出显示的单词的所有实例。

public void FindHighlightedText()
{
    const string filePath = "D:\\COM16_Duke Energy.doc";

    var word = new Microsoft.Office.Interop.Word.Application {Visible = true};
    var doc = word.Documents.Open(filePath);
    var range = doc.Range();

    range.Find.ClearFormatting();
    range.Find.Text = "Family";

    while (range.Find.Execute())
    {
          range.Select();
          range.Delete();
    }
    doc.Close();
    word.Quit(true, Type.Missing, Type.Missing);
}

1 个答案:

答案 0 :(得分:2)

Find.Highlight属性设置为https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}

Interop使用可用于VBA宏的相同对象和方法。您可以通过使用这些步骤记录宏并检查它来找到执行任务所需的操作,属性。

通常,但并非总是如此,属性与UI匹配。如果某些内容属于常规“查找”框中的属性,则它也可能是true界面中的属性。

例如,仅搜索突出显示的单词会产生此宏:

Find

可以翻译为:

Selection.Find.ClearFormatting
Selection.Find.Highlight = True
With Selection.Find
    .Text = ""
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With