VBScript のステートメント、Select Case ステートメント

数値

x = 10

Select Case x
  Case 10
    MsgBox "1 : " & x
  Case 20
    MsgBox "2 : " & x
  Case 20
    MsgBox "3 : " & x
  Case Else
    MsgBox "4 : " & x
End Select

条件が重複していても怒られないようだ


文字列

x = "bar"

Select Case x
  Case "foo"
    MsgBox "1 : " & x
  Case "bar"
    MsgBox "2 : " & x
  Case Else
    MsgBox "3 : " & x
End Select


複数の式

Dim X(3)

X(0) = 10
X(1) = 20
X(2) = 21
X(3) = 30

For Each x in X
  Select Case x
    Case 10
      MsgBox "1 : " & x
    Case 20, 21
      MsgBox "2 : " & x
    Case Else
      MsgBox "3 : " & x
  End Select
Next


case の方に文字列を書いて、値として数値を与えても大丈夫

x = 1

Select Case x
  Case "foo"
    MsgBox "1 : " & x
  Case "bar"
    MsgBox "2 : " & x
  Case Else
    MsgBox "3 : " & x
End Select


case のところに数値と文字列が混在しているとダメな場合があるようだ

'x = 1
x = "foo"

Select Case x
  Case 1
    MsgBox "1 : " & x
  Case "foo"
    MsgBox "2 : " & x
End Select


Set, Sub ステートメント はとばし