例子代码:颜色转换函数(VB->RGB/HTML/HEX)
◇仅供参考
◇Beta 1
Public Enum ColorType
ctLong = 1
ctRGB = 2
ctHTML = 3
ctHex = 4
ctUnknow = 99
End Enum
Public Function FormatColor(ByVal strColor As String, _
ByVal udeColorType As ColorType, _
ByRef vntColor As Variant) As Boolean
If LenB(strColor) <> 0 Then
Select Case udeColorType
Case ctLong
vntColor = CLng(Val(strColor))
Case ctRGB
vntColor = RGBColor(CLng(Val(strColor)))
Case ctHTML
vntColor = HTMLColor(CLng(Val(strColor)))
Case ctHex
vntColor = HexColor(CLng(Val(strColor)))
Case ctUnknow
Case Else
End Select
Else
vntColor = vbNullString
FormatColor = False
End If
End Function
Private Function GetRedColor(ByVal lngColor As Long) As Long
GetRedColor = (lngColor And &HFF&)
End Function
Private Function GetGreenColor(ByVal lngColor As Long) As Long
GetGreenColor = (lngColor And &HFF00&) / &H100
End Function
Private Function GetBlueColor(ByVal lngColor As Long) As Long
GetBlueColor = (lngColor And &HFF0000) / &H10000
End Function
Private Function RGBColor(ByVal lngColor As Long) As String
RGBColor = "RGB(" & CStr(GetRedColor(lngColor)) & "," _
& CStr(GetGreenColor(lngColor)) & "," _
& CStr(GetBlueColor(lngColor)) & ")"
End Function
Private Function HexColor(ByVal lngColor As Long) As String
Dim o_strHexColor As String
o_strHexColor = Hex(lngColor)
If Len(o_strHexColor) < 6 Then
o_strHexColor = String(6 - Len(o_strHexColor), "0") & o_strHexColor
Else
End If
HexColor = "&H" & o_strHexColor & "&"
End Function
Private Function HTMLColor(ByVal lngColor As Long) As String
Dim o_strHexColor As String
o_strHexColor = Hex(lngColor)
If Len(o_strHexColor) < 6 Then
o_strHexColor = String(6 - Len(o_strHexColor), "0") & o_strHexColor
Else
End If
HTMLColor = "#" & Right$(o_strHexColor, 2) & _
Mid$(o_strHexColor, 3, 2) & _
Left$(o_strHexColor, 2)
End Function