【问题标题】:Finding Highlights gives false positives寻找亮点会产生误报
【发布时间】:2015-03-04 09:04:07
【问题描述】:

我有一个模板,其中包含用户应该替换的突出显示文本(例如“[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

不幸的是,宏总是“找到”不再突出显示的文本。经过一些调试后,我发现它被删除了突出显示的单个字母、空格甚至段落标记所捕获。

即使没有可见的突出显示,我也尝试选择单词或段落(包括段落标记)并再次“删除”突出显示。宏仍然“捕获”该文本。唯一可行的是,如果我选择整个文档并“删除”所有突出显示。

如果我手动使用 Find 命令(在宏之外),它会正确显示没有高亮显示。这个问题只发生在宏中。

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    尝试使用“查找”命令手动录制宏。宏完成录制后,查看宏的代码。您可能会注意到宏记录的内容与您在 VBA 子中的内容存在一些差异。

    【讨论】:

    • 我试过了。不仅没有区别,而且新宏也捕获了单个字符的不可见亮点。而手动查找仍然没有。
    猜你喜欢
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 2011-09-05
    相关资源
    最近更新 更多