查找Word VBA代码以使用当前默认高亮显示颜色高亮显示文本

查找Word VBA代码以使用当前默认高亮显示颜色高亮显示文本,vba,ms-word,Vba,Ms Word,几个月来,我一直在断断续续地搜索VBA代码,这些代码可以包含在宏中,以使用当前默认的高亮显示颜色高亮显示文本,但毫无用处。我已经翻阅了我的个人资源书和谷歌上下的所有资料,包括这里 我创建了无数个宏,它们以各种可能的(基本)颜色,每隔一个星期天突出显示文本,它们都非常有效。但有时我会有一个场景,我想以一种持续的方式,多次以特定的颜色突出显示随机文本。然后我想换颜色。。。有一段时间。然后再次切换。。。有一段时间 我有许多用于突出显示选项的键盘快捷键,包括用于突出显示我手动选择的文本的内置命令快捷键。

几个月来,我一直在断断续续地搜索VBA代码,这些代码可以包含在宏中,以使用当前默认的高亮显示颜色高亮显示文本,但毫无用处。我已经翻阅了我的个人资源书和谷歌上下的所有资料,包括这里

我创建了无数个宏,它们以各种可能的(基本)颜色,每隔一个星期天突出显示文本,它们都非常有效。但有时我会有一个场景,我想以一种持续的方式,多次以特定的颜色突出显示随机文本。然后我想换颜色。。。有一段时间。然后再次切换。。。有一段时间

我有许多用于突出显示选项的键盘快捷键,包括用于突出显示我手动选择的文本的内置命令快捷键。例如,我可以手动选择左边的三个单词,并使用Ctrl+Alt+H来调用内置的高亮显示命令,它将使用当前的默认颜色


但我无法用宏进一步自动化。例如,我使用了许多不同的宏迭代,在键入文本时高亮显示文本,或自动高亮显示左侧X个单词,或一行、一句或一段。但是对于每一个宏,我不得不声明一种特定的颜色。这意味着我必须有大量的宏序列才能对每个(基本)颜色变化做相同的事情。如果我只想偶尔突出显示特定颜色的文本,那也没关系。但是,当我知道下一步(比如20或40个高光)将使用特定颜色时,我希望设置默认颜色,然后只使用通用的高光命令,而不是以颜色为中心的命令(这是更多步骤)。

经过大量实验,我终于找到了一种方法。我不确定这是否是最有效的方法,但它是有效的

我有许多以高亮显示为中心的宏将使用此功能,但下面是其中一个使用此功能的示例。我将现有颜色声明为字符串,然后使用字符串而不是特定颜色(我错误地认为这是一个要求)。以下宏允许我在键入时高亮显示:

    Sub honHighlightOnTypingSelectWord_DEFAULTCOLOR()

        CurColor = Options.DefaultHighlightColorIndex

        Application.ActiveDocument.Application.Options.DefaultHighlightColorIndex = CurColor

            Selection.Words(1).Select
            Selection.Range.HighlightColorIndex = CurColor

    End Sub 

问题解决了

有没有可能在Word中使用Ctrl+Alt+H来模拟默认值?尽管链接文章的答案是推荐WinAPI而不是sendkeys。我对Word不太熟悉。或者将颜色存储在变量中,仅在发生更改时更新该变量。将格式设置为该变量?我也在看下面的设置一个范围,有一个范围。找到并循环做一些事情……
Alt+T,M,R
用VBA代码记录你的步骤。重复停止录音。嗨,QHarr-在过去的很长一段时间里,我只使用过SendKeys几次,每次都非常挑剔和不可预测。由于我计划与一些同事分享这个宏,因此我不太愿意使用SendKeys。但更重要的是,我不认为这是一个选项,因为同样的原因,我需要一个通用命令来使用当前的默认颜色。快捷键将突出显示事件后的文本。我需要边打字边做,没有捷径可走。不过谢谢你的建议!:)QHarr,你的第二个建议听起来很有趣。我将对此进行探讨。谢谢!:)这看起来很棒,这是我一直试图自己解决的问题,但我不确定如何利用您的解决方案(我对宏的了解非常有限)。我尝试将您的代码粘贴为新宏并运行它,但尽管我使用灰色突出显示当前代码,但所选内容仍以黄色突出显示。如果你有什么建议,我将不胜感激。