開始宣言ステートメント (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