JP1/Script(Windows(R)用)

[目次][用語][索引][前へ][次へ]

7.1.6 Select Case

機能
条件式の値に従って,複数のステートメントブロックのどれかを実行させるフロー制御ステートメントです。
形式
Select Case  TestExpressionCase  ExpressionList-nStatements-n〕〕...Case ElseElseStatements〕〕
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以降