Hitachi

JP1 Version 12 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以降