我正在使用以下代码在我的文档中查找一些字符串:
Application application = Addin.Application;
Document document = application.ActiveDocument;
Range rng = document.Content;
rng.Find.ClearFormatting();
rng.Find.Forward = true;
rng.Find.Text = findText;
while (rng.Find.Execute() && rng.Find.Found)
{
//here: rng.Text == findText
//however rng.Find.HitHighlight(findText, WdColor.wdColorAqua);
//highlights all occurrences in the document, not in the current range
}
作为代码状态中的注释,我希望rng.Find.HitHighlight(findText, WdColor.wdColorAqua);
只在当前范围内工作,而是在整个文档上执行。
有趣的是,如果我从不同的范围开始,这将按我的预期工作......即。
Range rng = document.Content.Paragraphs.First.Range;
rng.Find.HitHighlight("video", WdColor.wdColorAqua);
只会HitHighlight
在findText
第一段中。
这是不一致的......关于如何HitHighlight
仅在使用选择的范围内执行的任何想法Find
?
注意:我在 NetOffice 插件中尝试过这个,我得到了相同的行为。