我有一个模板,其中包含用户应该替换的突出显示文本(例如“[Client]”)。执行此操作时,用户始终会删除突出显示。
我使用Autoclose宏来捕捉任何剩余的亮点:
Selection.Find.ClearFormatting
Selection.Find.Highlight = True
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
if Selection.Find.Execute then
'Stop and warn the user
end if
不幸的是,宏总是“找到”不再突出显示的文本。经过一些调试后,我发现它被一个单独的字母,空格,甚至段落标记所捕获,突出显示被删除了。
即使没有可见的高光,我也尝试选择单词或段落(包括段落标记)并再次“删除”高亮显示。宏仍然“捕获”该文本。唯一有效的是,如果我选择整个文档并“删除”所有高光。
如果我手动使用“查找”命令(在宏之外),它会正确显示没有突出显示。此问题仅发生在宏中。
答案 0 :(得分:0)
尝试手动使用“查找”命令录制宏。宏完成录制后,查看宏的代码。您可能会注意到宏录制的内容与您在VBA Sub中的内容有所不同。