寻找Word VBA代码以使用当前默认突出显示颜色突出显示文本

时间:2017-12-17 11:25:56

标签: vba ms-word

我一直在寻找和开启,高低,几个月,无济于事,对于我可以包含在我的宏中的VBA代码,使用当前的默认高亮颜色突出显示文本。我查看了我的个人资源书以及谷歌的所有内容,包括这里。

我创建了一个巨大的宏,它们以每种可能的(基本)颜色突出显示每个星期日的文本,并且它们都很好用。但有时我有一个场景,我想以持续的方式,多次,以特定的颜色突出显示随机文本。然后,我想要换色......一段时间。并再次切换......一会儿。

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

但是我无法通过宏进一步自动化。例如,我使用了许多不同的宏迭代来突出显示文本,因为我正在键入它,或者自动突出显示我左边的X个单词,或者一行或一个句子或段落。但是对于每个宏,我都被迫声明一种特定的颜色。这意味着我必须拥有大量的宏系列才能对每个(基本)颜色变化做同样的事情。如果我只想偶尔突出显示特定颜色的文字,这很好。但是,当我知道我将使用特定颜色作为下一个,比如20或40个高光时,我喜欢设置默认颜色,然后只使用通用高亮命令而不是以颜色为中心的命令(其中是更多步骤。

1 个答案:

答案 0 :(得分:1)

经过多次实验,我终于找到了办法。我不确定这是否是最有效的方法,但它确实有效!

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

    Sub honHighlightOnTypingSelectWord_DEFAULTCOLOR()

        CurColor = Options.DefaultHighlightColorIndex

        Application.ActiveDocument.Application.Options.DefaultHighlightColorIndex = CurColor

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

    End Sub 

问题解决了!