如何在VBA中指定颜色主题

时间:2013-06-30 08:40:48

标签: excel-vba charts pie-chart vba excel

我想手动指定我在VBA中使用的颜色主题中的颜色。

我的功能看起来像这样

    Function GetColorScheme(i As Long) As String
Const thmColor1 As String = "C:\Program Files\Microsoft Office\Document Themes 14\Theme Colors\Blue Green.xml"
Const thmColor2 As String = "C:\Program Files\Microsoft Office\Document Themes 14\Theme Colors\Orange Red.xml"
    Select Case i Mod 2
        Case 0
            GetColorScheme = thmColor1
        Case 1
            GetColorScheme = thmColor2
    End Select
End Function

目前我使用颜色方案的路径来定义主题。但是,只要路径woudl改变宏停止工作。有没有办法定义要在VBA中使用的颜色主题?例如

Const thmColor1 As String = RGB.....

我很感激任何评论

1 个答案:

答案 0 :(得分:0)

您的功能可以通过以下方式得到改善:

Function GetColorSchemeRGB(i As Long) As Long

    Select Case i Mod 2
        Case 0
            'for red
            GetColorSchemeRGB = RGB(255, 0, 0)
        Case 1
            'for green
            GetColorSchemeRGB = RGB(0, 255, 0)
    End Select
End Function

您不能以这种方式分配您的Const:

Const thmColor1 As Long = RGB(255, 255, 255)

因为需要为Const赋值。或者,您可以立即检查以查找哪个长度代表哪个RGB值如下:

'for white
Debug.Pring RGB(255,255,255)
16777215  '<<result

并且你将以这种方式定义你的Const:

'for white
Const thmColor1 As Long = 16777215

可以按照你想要的方式添加到你的功能中。