在对象属性中,可以设置格式化的自定义颜色,例如。 &H00893959&。玩这个似乎似乎与RGB或类似,但我找不到太多的逻辑。有谁知道这些代码的工作原理?
答案 0 :(得分:2)
最有可能是三个颜色字节的十六进制表示。
&H
的&
的数字 为unsigned integers。您会发现它更常见地表示为HTML颜色代码,而没有额外的字符为 #893959
,这是下面的颜色。 (有关此颜色here的更多信息。):
这是一个VBA函数,可使用RGB Function提取3个彩色字节并将十六进制转换为十进制(用于Excel / VBA)。
Function Hex2RGB(hex As String) As Long
Dim r As Long, g As Long, b As Long
With Application.WorksheetFunction
r = .Hex2Dec(Mid(hex, 5, 2))
g = .Hex2Dec(Mid(hex, 7, 2))
b = .Hex2Dec(Mid(hex, 9, 2))
End With
Hex2RGB = RGB(r, g, b)
End Function
Sub Demo()
Const hexColor = "&H00893959&"
Debug.Print "The RBG (decimal) interpretation of '" _
& hexColor & "' is " & Hex2RGB(hexColor) & "." 'returns 5847433
End Sub