Subプロシージャの本体を形成する名前、引数およびコードを宣言します。
構文
Sub name [(arglist)] [statements] [Exit Sub] [statements] End Sub
name: Subの名前。標準の変数命名規則に従います。
arglist: Subプロシージャがコールされたときに渡される引数を表す変数のリスト。複数の変数はカンマで区切ります。
statements: Subプロシージャの本体内で実行される文のグループ。
引数:
arglist引数には、次の構文と要素があります:
[ByVal | ByRef] varname[( )]
ByVal: 引数が値で渡されることを示します。
ByRef: 引数が参照で渡されることを示します。
Varname: 引数を表す変数の名前。標準の変数命名規則に従います。
備考
PublicまたはPrivateを使用して明示的に指定されていない場合、Subプロシージャはデフォルトでpublicになります。つまり、スクリプト内の他のすべてのプロシージャから参照できます。Subプロシージャのローカル変数の値は、プロシージャのコール間では保持されません。
Exit Sub文は、Subプロシージャを即時に終了します。プログラムの実行は、Subプロシージャをコールした文に続く文から続行されます。Subプロシージャの任意の場所に任意の数のExit Sub文を配置できます。
Subプロシージャは、Functionプロシージャと同様に、引数を取り、一連の文を実行し、その引数の値を変更できる個別のプロシージャです。ただし、値を戻すFunctionプロシージャとは異なり、Subプロシージャは式内で使用できません。
Subプロシージャをコールするには、プロシージャ名とそれに続く引数リストを使用します。Subプロシージャのコール方法の詳細は、「Call文」を参照してください。
例1:
Sub mysub() 'some statements End Sub
例2:
Sub mysub(argument1, argument2) 'some statements End Sub