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

问题描述 投票:1回答:1

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

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

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

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

vba ms-word
1个回答
1
投票

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

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

    Sub honHighlightOnTypingSelectWord_DEFAULTCOLOR()

        CurColor = Options.DefaultHighlightColorIndex

        Application.ActiveDocument.Application.Options.DefaultHighlightColorIndex = CurColor

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

    End Sub 

问题解决了!

© www.soinside.com 2019 - 2024. All rights reserved.