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 では不等号を使った条件は使えない。
次の書き方は VBScript ではコンパイルエラーになる。
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