我在设置Selection.Find.Execute
时在包含修订标记的文字中使用MyRange.Find.Execute
或Options.DeletedTextMark = wdDeletedTextMarkHidden
。或者,我在文本中搜索某些字符串的格式为Font.Hidden = True
。
如果在搜索结果之前或之后会有隐藏文字,它将包含在搜索结果中,任何后续操作(如Selection.Range.HighlightColorIndex = wdGreen
)都将包含隐藏部分。
是否有一种简单的方法可以确保搜索结果与搜索到的字词完全一致?
答案 0 :(得分:0)
到目前为止,我发现的最好的解决方法是以下功能:
Function ExactRange(Optional rngFoundRange) as Boolean
If IsMissing(rngFoundRange) Then Set rngFoundRange = Selection.Range
Vi_LenInitial = rngFoundRange.End - rngFoundRange.Start
rngFoundRange.SetRange _
Start:=rngFoundRange.Characters(1).End - 1, _
End:=rngFoundRange.Characters(Len(rngFoundRange)).End
Vi_LenExact = rngFoundRange.End - rngFoundRange.Start
ExactRange = IIf(Vi_LenInitial = Vi_LenExact, True, False)
End Function
如果找到的范围是精确的,则函数将为True
,如果不精确且需要进行调整,则为False
。在任何情况下,执行后找到的范围应与搜索字符串完全匹配。