【问题标题】:VBA code to find and highlight a combination of characters用于查找和突出显示字符组合的 VBA 代码
【发布时间】:2016-03-29 23:43:40
【问题描述】:

我正在寻找 Word 中的 VBA 代码,以突出显示引号外有句点的任何句子。即在文本“Hello word”中。我希望 " 和 . 在运行宏时突出显示。

@il_raffa.. 我有一个代码可以突出显示我不想在信中看到的单词。不知道如何在其中合并符号。

    Sub HighlightTargets2()

    Dim range As range
   Dim i As Long
   Dim TargetList

   TargetList = Array("I", "We", "our", "discusses about", "we", "asserts")
   For i = 0 To UBound(TargetList)

   Set range = ActiveDocument.range

   With range.Find
   .Text = TargetList(i)
   .Format = True
   .MatchCase = False
   .MatchWholeWord = True
   .MatchWildcards = True
   .MatchSoundsLike = False
   .MatchAllWordForms = False

   Do While .Execute(Forward:=True) = True
   range.HighlightColorIndex = wdYellow

   Loop

   End With
   Next

   End Sub

【问题讨论】:

  • 你有尝试过吗?
  • @il_raffa.. 我有代码可以突出显示我不想在信中看到的单词。这里是:

标签: vba ms-word


【解决方案1】:

我之前发现 Word 使用智能引号,所以如果你只使用 " 是行不通的

只需在 TargetList 代码行上方添加以下内容

'Chr(148) is the Character Code for Word Smart quote
'This is what is inserted into Word when you press "
char1 = Chr(148) & "."

并更改您的 TargetList:

TargetList = Array("I", "We", "our", "discusses about", "we", "asserts", char1)

已经尝试过,它可以突出显示“。

【讨论】:

    【解决方案2】:

    在 Word 中,显示“查找”对话框。 (Ctrl+F 显示任务窗格而不是对话框,从下拉列表中选择“高级”。)

    在“查找”框中键入“.”,然后单击“阅读突出显示”,然后单击“全部突出显示”。

    如果您确实需要在宏中使用此功能,请录制一个宏,然后执行上述操作。

    【讨论】:

    • 我更喜欢使用代码,因为我的客户不想在信中看到很多单词和符号。我们一直在尝试这个查找和替换选项。由于我们错过了很多单词,因此没有成功。所以我正在尝试创建一个代码来突出显示所有这些单词。自动更正不是一种选择,因为我们主要进行复制粘贴工作。请你能提出一个解决方案。提前致谢
    • 请解释如何使用 find 不适用于您在原始问题中提到的组合。我在提出建议之前进行了测试。我解释了如何制作宏代码。
    • 我们有很多单词和符号要检查。因此,对每个单词或符号使用 find 会花费我们更多的时间。我尝试使用宏。没有为我工作。我完全按照你说的做了。创建了一个宏,找到并阅读了我想要突出显示的所有单词和符号的突出显示,然后停止记录。但它没有用。但是我只是尝试通过使用键盘来加粗一个单词。有效。是不是因为我使用了鼠标操作它对我不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 2019-04-29
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多