7.1.6 Select Case

機能
条件式の値に従って,複数のステートメントブロックのどれかを実行させるフロー制御ステートメントです。
形式

Select Case  TestExpression
Case  ExpressionList-n
 〔Statements-n〕〕...
Case Else
 〔ElseStatements〕〕
EndSelect

指定項目
TestExpression
任意の条件式を指定します。
ExpressionList-n
Case節を記述する場合は必ず指定します。一つ,または複数の式をコンマ( , )で区切って指定します。
Statements-n
TestExpressionExpressionList-nのどれかと一致するとき,一致したStatements-nのステートメントが実行されます。Statements-nには複数の文を記述できます。複数の文を記述する場合は,文ごとに改行します。
ElseStatements
TestExpressionがどのCase節とも一致しないとき,ElseStatementsのステートメントが実行されます。ElseStatementsには複数の文を記述できます。複数の文を記述する場合は,文ごとに改行します。
説明
TestExpressionがCase節のどちらかの式ExpressionListに一致すると,次のCase節,またはEnd SelectステートメントまでのStatementsが実行されます。ブロックの実行が終わると,制御はEnd Selectステートメントの次のステートメントに移ります。TestExpressionが複数のCase節に一致するときは,最初に一致したCase節に続くステートメントだけが実行されます。
Case Else節は,TestExpressionがどのCase節のExpressionListにも一致しなかったときに実行するステートメントElseStatementsを指定します。Case Elseステートメントは必ずしも必要ではありませんが,予測できないTestExpressionの値を処理するために,Select CaseブロックにCase Elseステートメントを記述することを推奨します。Case節の式ExpressionListTestExpressionと一致しない場合でCase Elseステートメントが指定されていないときは,End Selectステートメントの次のステートメントから実行が続けられます。
Select Caseステートメントは,ネスト(入れ子)構造にすることができます。このとき,各Select Caseステートメントには,それぞれ対応するEnd Selectステートメントが必要です。

' 引数Resultを判定しメッセージを組み立て,"Result.txt"に出力する。
Sub LogOutput ( Result )
 Dim MessageText
 Select Case Result
 Case "OK"
   MessageText = " 正常終了しました。 " & "Status=[" & Result & "]"
 Case "NG"
   MessageText = " 異常終了しました。 " & "Status=[" & Result & "]"
 Case Else
   MessageText = " 予期せぬエラーが発生しました。 " & _
                   "Status=[" & Result & "]"
 End Select
 Message ( Target_File ,_SCF_+"Result.txt" ,MessageText _
         ,128 ,1024 )
End Sub

対象バージョン
JP1/Script 01-00以降