Select Case
Synopsis
Select Case testexpression [Case expressionlist-n [statements-n]] . . . [Case Else elsestatements] End Select
引数
Select Case 文の構文は、以下の部分で構成されています。
testexpression | 任意の数値式または文字列式。 |
expressionlist-n | Case を記述する場合は必要。単独または複数の式の区切られたリスト。 |
statements-n | testexpression が expressionlist-n のいずれかと一致している場合に実行される単独、または複数の文。 |
elsestatements | testexpression が Case 節のいずれとも一致しない場合に実行する単独、または複数の文。Case Else 節と一連の elsestatements 節は 1 つだけ指定できます。 |
概要
testexpression が Case expressionlist 式のいずれかと一致する場合、その Case 節に続く文は最長でその次の Case 節までに実行されるか、または最終節の End Select までに実行されます。制御は、その後 End Select に続く文に渡されます。testexpression が 1 つ以上の Case 節の expressionlist 式と一致する場合、最初に一致した Case 節の文のみが実行されます。
他の Case セレクションで、testexpression と expressionlist が一致しない場合のために、Case Else 節を使用して elsestatements を実行することを指定します。必須ではありませんが、予期しない testexpression 値に対処するためにも Select Case ブロックに Case Else 文があると便利です。Case expressionlist が testexpression と一致せず、Case Else 文が存在しない場合は、End Select の続く文で実行が継続されます。
Select Case 文は入れ子にできます。入れ子になった Select Case 文には、それぞれ一致する End Select 文が必要です。
例
以下の例は、Select Case 文の使用法を示しています。
Dim Color, MyVar
Sub ChangeBackground (Color)
MyVar = lcase (Color)
Select Case MyVar
Case "red" document.bgColor = "red"
Case "green" document.bgColor = "green"
Case "blue","azure" document.bgColor = "blue"
Case Else Print "pick another color"
End Select
End Sub