VBScript: FunctionとSubの違い

VBScriptのプロシージャにはFunctionプロシージャと Subプロシージャの2つがあります。
2つの違いは、Functionプロシージャには戻り値があり、 Subプロシージャには戻り値がないことです。

例えば、何かしらの演算を行った結果を受け取りたい場合は Functionプロシージャを使います。 一方、演算を行った結果を受け取る必要はなく、 画面に表示するだけの場合などはSubプロシージャで十分です。

途中で処理を抜け出したい場合、 Functionプロシージャは「Exit Function」と記述し、 Subプロシージャは「Exit Sub」と記述します。

Functionoプロシージャのサンプルコード

次のサンプルコードでは、 受け取った引数を足した値を戻り値として 戻しています。

' Function 定義
Function Test(x, y)

	Test = x + y

End Function

a = 10
b = 20

' Function 呼び出し
c = Test(a, b)

WScript.Echo c  ' 30

Subプロシージャのサンプルコード

次のサンプルコードでは、 戻り値がないのでSubプロシージャを使っています。 Subプロシージャでは受け取った引数を足した値を表示しています。

' Sub 定義
Sub Test2(x, y)

	WScript.Echo  x + y

End Sub

a = 10
b = 20

' Sub 呼び出し
Call Test2(a, b)
VBScript入門