使用VSTO突出显示Word中所有出现的字符串

时间:2014-01-11 14:25:15

标签: c# ms-word vsto

我想使用VSTO突出显示Microsoft Word 2010中给定字符串的所有匹配项。

到目前为止,我已设法使用Find工具设置匹配的前景色:

Word.Find find = Application.ActiveDocument.Content.Find;
find.Replacement.Font.ColorIndexBi = Word.WdColorIndex.wdYellow;
find.Execute(FindText: "dog", MatchCase: false, Replace: Word.WdReplace.wdReplaceAll);

但是,我想为匹配设置亮点,例如下面的屏幕截图:

highlight word

2 个答案:

答案 0 :(得分:3)

如果想要临时突出显示,可以使用HitHighlight方法代替:

Word.Find find = Application.ActiveDocument.Content.Find;
find.HitHighlight(
    FindText: "dog",
    MatchCase: false,
    HighlightColor: Word.WdColor.wdYellow);

答案 1 :(得分:1)

使用

设置高光颜色
Application.Options.DefaultHighlightColorIndex 

到其中一个wdColorIndex成员(例如wdYellow)

在使用

替换中应用突出显示颜色
find.Replacement.Highlight = True