Hitachi

JP1 Version 12 JP1/Script(Windows(R)用)


7.1.8 Function

機能

Functionプロシージャの名前,引数を宣言し,Functionプロシージャの始まりを示します。FunctionステートメントとEnd Functionステートメントで囲まれた一連のステートメントをFunctionプロシージャとして定義します。

形式
Function  Name〔(ArgList)〕
  〔Statements〕
  〔Name = Expression〕
  〔Exit Function〕
  〔Statements〕
  〔Name = ExpressionEndFunction
指定項目
Name

定義するFunctionプロシージャの名前を指定します。変数の名前付け規則に従って名前を付けます。

ArgList

Functionプロシージャを呼び出すときに,Functionプロシージャに渡す引数を表す変数のリストを指定します。複数の変数を指定する場合はコンマ( , )で区切ります。引数がある場合には,引数を必ずカッコで囲んでください。

Statements

Functionプロシージャ内で実行される一連のステートメントを指定します。

Expression

Functionプロシージャの戻り値を指定します。

説明

Functionプロシージャはパブリックプロシージャなので,スクリプト内の他のすべてのプロシージャからも参照できます。

実行可能なコードはすべてプロシージャ内に記述する必要があります。 また,Function プロシージャを他のFunctionプロシージャ,またはSubプロシージャの中で定義することはできません。

Exit Functionステートメントは,Functionプロシージャを直ちに終了します。プログラムの実行は,そのFunctionプロシージャを呼び出したステートメントの次のステートメントから継続されます。Exit Functionステートメントは,Functionプロシージャ内の任意の位置で何回でも指定できます。

Functionプロシージャの呼び出し方法については,Callステートメントを参照してください。

Functionプロシージャから値を返すには,値をFunctionプロシージャ名Nameに代入してください。Nameへの代入は,Functionプロシージャ内の任意の場所で必要に応じて何回でも行うことができます。Nameに値を代入しない場合は,既定の戻り値が返されます。既定の戻り値は,長さ0の文字列("")です。

Functionプロシージャで使う変数には,Functionプロシージャ内で明示的に宣言される変数と,それ以外の変数の2種類があります。プロシージャ内でDimコマンドなどを使用して明示的に宣言された変数は,そのプロシージャの中だけで有効なローカル変数になります。プロシージャ内で明示的に宣言しないで使われている変数も,そのプロシージャの外部のさらに上のレベルで明示的に宣言されていないかぎりは,ローカル変数となります。Functionプロシージャ内のローカル変数の値は,プロシージャの実行が終了すると破棄されます。

プロシージャ内で明示的に宣言していない変数をプロシージャ内で使うことはできますが,その変数と同じ名前の変数などがスクリプトレベルで定義されている場合,その変数はグローバルな変数として扱われます。

' 入力データを比較し,昇順に表示します。
Dim compnum1,compnum2
InputBox ( "比較する数値を入力してください。","データ入力", _
        100, 100, compnum1, "数値1" ,compnum2, "数値2" )
 
If NumberCompare( compnum1 , compnum2) <> True Then
   lower = compnum2
   upper = compnum1
Else
   lower = compnum1
   upper = compnum2
End If
Messagebox( "lower=[" & lower & "] , upper=[" & upper & "]" )
 
Function NumberCompare(p1, p2)
   NumberCompare =True
   Dim lower,upper
   lower = p1
   upper = p2
   If lower > upper Then
       NumberCompare = False
       Exit Function
   End If
End Function
対象バージョン

JP1/Script 01-00以降