開始宣言ステートメント (Sub
または Function
) と終了宣言ステートメント (End Sub
または End Function
) の間でプロシージャを囲みます。 プロシージャのすべてのコードは、これらのステートメントの間にあります。
プロシージャに別のプロシージャを含めることはできません。そのため、開始ステートメントと終了ステートメントは、他のプロシージャの外部にある必要があります。
異なる場所で同じタスクを実行するコードがある場合は、タスクをプロシージャとして 1 回記述し、コード内の別の場所から呼び出すことができます。
値を返さないプロシージャを作成するには
他のプロシージャ以外では、
Sub
ステートメントを使用し、その後にEnd Sub
ステートメントを使用します。Sub
ステートメントで、Sub
キーワードにプロシージャの名前を付け、次にパラメーター リストをかっこで囲みます。プロシージャのコード ステートメントを、
Sub
ステートメントとEnd Sub
ステートメントの間に配置します。
値を返すプロシージャを作成するには
他のプロシージャ以外では、
Function
ステートメントを使用し、その後にEnd Function
ステートメントを使用します。Function
ステートメントで、Function
キーワードに従ってプロシージャの名前を指定し、次にパラメーター リストをかっこで囲み、戻り値のデータ型を指定するAs
句を指定します。プロシージャのコード ステートメントを、
Function
ステートメントとEnd Function
ステートメントの間に配置します。Return
ステートメントを使用して、呼び出し元のコードに値を返します。
新しいプロシージャを古い繰り返しコード ブロックに接続するには
古いコードがアクセスできる場所に新しいプロシージャを定義してください。
古い繰り返しコード ブロックで、繰り返しタスクを実行するステートメントを、
Sub
またはFunction
プロシージャを呼び出す 1 つのステートメントに置き換えます。プロシージャが値を返す
Function
の場合は、呼び出し元のステートメントが戻り値を使用してアクションを実行することを確認します (変数に格納するなど)。そうしないと、値が失われます。
例
次の Function
プロシージャは、他の 2 つの辺の値を指定して、右三角形の最も長い辺 (低辺) を計算します。
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function
こちらも参照ください
.NET