技術情報
サブルーチンと関数
サブルーチン
サブルーチンとは、戻り値のないユーザ定義関数のことを表し、以下のいずれかの形式で定義します。
引数を指定する場合は、必要な数だけ変数を「,」(カンマ)で区切ります。

a)は定義されているスクリプト内から呼び出し可能なサブルーチンとなります。
b)はa)と等価です。
c)はすべてのスクリプト内から呼び出し可能なサブルーチンとなります。
a) Sub サブルーチン名 (引数1,...)
  ...
End Sub

b) Private Sub サブルーチン名 (引数1,...)
  ...
End Sub

c) Public Sub サブルーチン名 (引数1,...)
  ...
End Sub

一方、サブルーチンの呼び出しは、以下のいずれかの形式で記述します。
d) Call サブルーチン名(引数1,...)
e) サブルーチン名(引数1,...)
d)の形式は"Call"がついており、サブルーチンを呼び出していることが一目でわかるため、a)の形式をお勧めします(プログラムの可読性も良くなります)。
e)は"Call"を省略した形式です。

(例)
'サブルーチンを呼び出します
Call mySubTest("abc")

'サブルーチンの定義
Sub mySubTest(StrMsg)
  MsgBox StrMsg
ユーザ定義関数
ユーザ定義関数は、戻り値を返すことが必須となります。
以下のいずれかの形式で定義します。
引数を指定する場合は、必要な数だけ変数を「,」(カンマ)で区切ります。
関数の戻り値は関数名に戻り値を代入することで指定することができます。
VBScriptでは戻り値は常にバリアント型となります。

a)は定義されているスクリプト内から呼び出し可能な関数となります。
b)はa)と等価です。
c)はすべてのスクリプト内から呼び出し可能な関数となります。
a) Function 関数名(引数1,...)
  ...
  関数名 = 戻り値
End Function

b) Private Function 関数名(引数1,...)
  ...
  関数名 = 戻り値
End Function

c) Public Function 関数名(引数1,...)
  ...
  関数名 = 戻り値
End Function

一方、ユーザ定義関数の呼び出しは、以下のいずれかの形式で記述します。
d) 変数 = 関数名(引数1,...)
e) Call 関数名(引数1,...)
f) 関数名(引数1,...)
通常は、d)の形式で呼び出し、関数の戻値を変数で受け取ります。
その他、e)、f)のようにサブルーチンと同様の呼び出しも可能ですが、関数の戻値は受け取れません。

(例)
'関数を呼び出し、戻り値を表示します
MsgBox myFuncTest(100)

'関数の定義
Function myFuncTest(a)
  myFuncText = a * 100
End Function
組込関数
VBScriptには、あらかじめ組み込まれた関数が多数あります。
詳しくは、VBScript関数リファレンスを参照してください。