我想手动指定我在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.....
我很感激任何评论
答案 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
可以按照你想要的方式添加到你的功能中。