例如:有一个枚举 和 一个字符串
Public Enum Week                            '星期
    Monday = 1
    Tuesday = 2
    Wednesday = 3
End Enumdim weekEx as Week
weekEx=week.Mondaydim Day as string
Day="Monday"如何才能知道 这两个相等? . . if weekEx=WeekDay then
 msg "right"
end if
这样报错 . . .

解决方案 »

  1.   

    if WeekdayName(1,,vbMonday) = weekEx then
      

  2.   

    据我所知,你没办法直接得到枚举值和枚举值对应的常量名之间的对应关系的,除非你自己写个带Select Case分支判断的函数。
      

  3.   

     好象是3楼所说的 , 系统定义的枚举有很多 . . 如 Word.Wdcolor  Word对象的颜色 . . 等 . . 在c# ,vb.net 中, 可以
      
     (枚举名)Enum.Parse(typeof(枚举名),枚举值对应的常量名); 这样得到 对应关系 .  谢谢两位回答 , 结帖了 .
      

  4.   

    可以用数组实现输入字符串与星期匹配:Function IsWeekDay(pDay As String, weekEx As VbDayOfWeek)
        Dim arrWeek
        arrWeek = Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
        IsWeekDay = (pDay = arrWeek(weekEx - 1))
    End Function
    Private Sub Command1_Click()
        Dim myDay As String
        myDay = "Monday"
        Debug.Print IsWeekDay(myDay, vbMonday)
        myDay = "Friday"
        Debug.Print IsWeekDay(myDay, vbMonday)
    End Sub