我在 VBA 中将此模块分配给键盘快捷键以更改突出显示的颜色:
Sub RotateHighlightwbColor()
Select Case Selection.Range.HighlightColorIndex
Case wdYellow
Selection.Range.HighlightColorIndex = wdGray25
Case wdGray25
Selection.Range.HighlightColorIndex = wdRed
Case wdRed
Selection.Range.HighlightColorIndex = wdPink
Case wdNoHighlight
Selection.Range.HighlightColorIndex = wdYellow
Case Else
Selection.Range.HighlightColorIndex = wdNoHighlight
End Select
End Sub
但是我想使用 RGB 颜色(更多颜色选择),而不是 wbColor。
我可以找到一种方法来做到这一点,但它使用Shading
而不是Highlights
。
Sub RotateHighlightRGB()
Select Case Selection.Font.Shading.BackgroundPatternColor
Case RGB(255, 255, 255)
Selection.Font.Shading.BackgroundPatternColor = RGB(1, 255, 1)
Case RGB(1, 255, 1)
Selection.Font.Shading.BackgroundPatternColor = RGB(0, 0, 0)
Case RGB(0, 0, 0)
Selection.Font.Shading.BackgroundPatternColor = RGB(255, 255, 255)
Case Else
Selection.Font.Shading.BackgroundPatternColor = RGB(255, 255, 255)
End Select
End Sub
有没有办法使用 RGB 颜色Selection.Range.HighlightColorIndex
而不是使用Shading
?
答案1
我相信答案是“我们可以改变高亮颜色吗“ 是 不。HighlightColorIndex 必须引用“适用于”常量列表。WdColorIndex 常量 (MSDN Word 2003) 的集合是……
wd自动 wd黑色 wd蓝色 wd亮绿色 wd作者 wd深蓝色 wd深红色 wd深黄色 wd灰色25 wd灰色50 wd绿色 wd无高光 wd粉色 wd红色 wd青色 wd绿松石色 wd紫色 wd白色 wd黄色
此列表类似于没有数字的枚举,它是一个必须与此特定有限属性一起使用的集合或集合。我没有找到引用的 Highlight 对象。
在给出的阴影示例中,.shading“属性”实际上返回一个阴影对象,该对象可以访问完整的 RGB 颜色模型,如上面的代码所示,并在许多地方引用,包括https://msdn.microsoft.com/en-us/library/dd355244.aspx
Office 2003 对 WdColorIndex 的备注解释了上面列表中的 wdByAuthor 条目。
“如果 InsertedTextColor 属性设置为作者简介,Microsoft Word 会自动为修改文档的前八位作者分配一种独特的颜色。”