VBA:使用键盘快捷键更改高亮颜色(RGB 而不是 wbColor)(MS Word 2013)

VBA:使用键盘快捷键更改高亮颜色(RGB 而不是 wbColor)(MS Word 2013)

我在 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 会自动为修改文档的前八位作者分配一种独特的颜色。”

答案2

是的。请参阅interior.color 属性

例如:

    WB.Worksheets(1).Rows(1).Interior.Color = RGB(255, 0, 255)

相关内容