VBScript - 制御構文(条件分岐)
VBScript で、条件に基づいて処理を分岐する方法を説明します。
If または Select Case で分岐する方法があります。
If...Then...Else
式の値によって条件分岐を行います。
ブロック形式での書き方
If 〈条件〉 Then
〈条件を満たす場合の処理〉
ElseIf 〈条件2〉 Then
〈条件2を満たす場合の処理〉
Else
〈いずれの条件も満たさない場合の処理〉
End If
ElseIf および Else は任意です。必要に応じて定義します。
ElseIf はいくつでも定義できます。
1行形式での書き方
(見にくいので使わないことを推奨します)
If 〈条件〉 Then 〈条件を満たす場合の処理〉 Else 〈条件を満たさない場合の処理〉
複数のステートメントを書く場合は、コロン(:)で区切ります。
If A > 10 Then A = A + 1 : B = B + A : C = C + B
Select Case
式の値によって条件分岐を行います。
Select Case 〈式〉
Case 〈式〉
〈Case の式を満たした場合の処理〉
Case Else
〈いずれも満たさなかった場合の処理〉
End Select
Case はいくつでも定義できます。
Case Else は任意です。必要に応じて定義します。
Select Case の使用例
myColor = InputBox("色を入力してください")
Select Case UCase(myColor)
Case "RED"
MsgBox "#f00"
Case "GREEN"
MsgBox "#0f0"
Case "BLUE"
MsgBox "#00f"
Case Else
MsgBox "そのような色は知りません"
End Select
VBScript の Select Case では、不等号を使った条件は使えません。
以下の書き方はコンパイルエラーになります。
sec = Second(Now)
Select Case sec
Case 0 To 30
MsgBox "0~30秒"
Case Is <= 45
MsgBox "31~45秒"
Case Else
MsgBox "46秒~"
End Select