我定义了以下颜色常量:
'颜色常量定义
Public Const Aqua = 96
Public Const Blue = 8
Public Const Brown = 76
Public Const Gray = 98
Public Const Green = 4
Public Const Mono = 0
Public Const Orange = 32
Public Const Peach = 76
Public Const Pink = 80
Public Const Purple = 82
Public Const Red = 2
Public Const Salmon = 66
Public Const Skyblue = 72
Public Const Violet = 68
Public Const White = 74
Public Const Yellow = 16我想知道,如果我在程序中知道了某个颜色的数值,比如8,那么如何获得对应的字符串"Blue"呢?

解决方案 »

  1.   

    还不如声明一个数组:dim a(99) as string
    a(2)="Red "
    a(8)="Blue"
    ....
    这样不就可以了....
      

  2.   

    结构体比二维数组好用一点Type ColorType
       ColorName As String
       ColorValue As Long
    End Type
    Dim ColorArray() as ColorType
    Sub Main()
       Dim ShowColorValue as Long
       Dim ShowColorName As String
       Redim ColorArray(15)
       ColorArray(0).ColorName = "Aqua"
       ColorArray(0).ColorValue = 96
       ColorArray(1).ColorName = "Blue"
       ColorArray(1).ColorValue = 8
       '...
       ColorArray(15).ColorName = "Yellow"
       ColorArray(15).ColorValue = 16   ShowColorValue = 8
       ShowColorName = GetColorName(ShowColorValue)
       If Len(ShowColorName) = 0 Then
          Msgbox "设置的颜色值不在范围内"
       Else
          Msgbox "设置的颜色值名为:" & ShowColorName
       End If
    End SubFunction GetColorName(Byval ColorValue As Long) As String
       Dim i As Long
       Dim RetStr As String
       RetStr = ""
       For i=Lbound(ColorArray) To Ubound(ColorArray)
          If ColorArray(i).ColorValue = ColorValue Then
             RetStr = ColorArray(i).ColorName
             Exit For
          End If
       Next i
       GetColorName = RetStr
    End Function
      

  3.   


    下拉列表同时有这两个Aqua    ,96
    Blue    ,8
    Brown   ,76
    Gray    ,98
    Green   ,4
    Mono    ,0
    显示时看起来只是有 字符串  实际后面还有 数值,怎么使用都方便
      

  4.   

    Public Function Color2Name(C as Long) As String
        Select Case C
        Case 96
            Color2Name="Aqua"
        Case  8
            Color2Name="Blue"
        Case 76
            Color2Name="Brown"
        Case 98
            Color2Name="Gray"
        Case  4
            Color2Name="Green"
        Case  0
            Color2Name="Mono"
        Case 32
            Color2Name="Orange"
        Case 76
            Color2Name="Peach"
        Case 80
            Color2Name="Pink"
        Case 82
            Color2Name="Purple"
        Case  2
            Color2Name="Red"
        Case 66
            Color2Name="Salmon"
        Case 72
            Color2Name="Skyblue"
        Case 68
            Color2Name="Violet"
        Case 74
            Color2Name="White"
        Case 16
            Color2Name="Yellow"
        Case Else
            Color2Name="Unknown"
        End Select
    End Function