方法 : プロシージャを作成する
更新 : 2007 年 11 月
プロシージャは、開始宣言ステートメント (Sub または Function) と終了宣言ステートメント (End Sub または End Function) で囲みます。プロシージャのコードは、すべてこれらのステートメントの間に作成します。
プロシージャの内部に別のプロシージャを含めることはできません。つまり、開始ステートメントと終了ステートメントは他のプロシージャの外部に置く必要があります。
同じタスクを複数の場所で実行するコードがある場合は、そのタスクをプロシージャとして一度記述し、コード内の複数の場所からそれを呼び出します。
値を返さないプロシージャを作成するには
他のプロシージャの外側で Sub ステートメントを記述し、続けて End Sub ステートメントを記述します。
Sub ステートメント内で、Sub キーワードの後ろにプロシージャ名を指定し、続けてパラメータ リストをかっこで囲んで記述します。
Sub ステートメントと End Sub ステートメントの間にプロシージャのコード ステートメントを記述します。
値を返すプロシージャを作成するには
他のプロシージャの外側で Function ステートメントを記述し、続けて End Function ステートメントを記述します。
Function ステートメント内で、Function キーワードの後にプロシージャ名を定義し、パラメータリストをかっこで囲んで記述してから、戻り値のデータ型を指定する As 句を記述します。
Function ステートメントと End Function ステートメントの間にプロシージャのコード ステートメントを記述します。
呼び出し元のコードに値を返すには、Return ステートメントを使用します。
作成したプロシージャを、ブロックが繰り返し出現する古いコードにリンクさせるには
作成したコードが、古いコードからアクセス可能な場所にあることを確認します。
ブロックが繰り返し出現する古いコードで、同じタスクを実行しているステートメントを、Sub プロシージャまたは Function プロシージャを呼び出す単一のステートメントに置き換えます。
値を返す Function プロシージャで置き換える場合は、呼び出しステートメントが戻り値を使ってアクション (変数に格納するなど) を実行していることを確認します。実行していなければ、値は失われます。
使用例
次の Function プロシージャは、直角三角形の最も長い辺 (斜辺) を、他の 2 つの辺の値を基に計算します。
Function hypotenuse(ByVal side1 As Single, ByVal side2 As Single) As Single
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function