VBS 基礎-6 プロシージャ(関数)
VBScriptには関数の指定方法が2通りあります。
それが sub と function です。
この違いは戻り値があるか無いかというところなんですが、
細かいところとしては、呼び出し時にfunction は 関数名(引数・・・) としますが、 sub は 関数名 (引数・・・)とするとエラーが起きます。
subの呼び出し時は 関数名 引数,[引数・・・] としなくてはなりません。
では、以下でサンプルを見てみます。
subは戻り値がありませんが、function の場合は戻り値を返せます。 他言語では return 値としたいところですが、VBScriptの場合、関数名を変数に見立てて、関数の処理内で 関数名 = 値 とすることで値を返せます。
以上のようにVBScriptの関数は他のスクリプト言語をやった方からするとちょっととっつきにくい様な気がします。
dim res hmadds 10 , 20 res = hmaddf (10 , 20) msgbox(res) sub hmadds(arg1 , arg2) msgbox(arg1 + arg2) end sub function hmaddf( arg1 , arg2) hmaddf = arg1 + arg2 end function上記では引数を2つとり、それを単純に足している関数を sub と function のそれぞれ1づつ作っています。 sub 、 function 共に関数の終了部分は end sub(or function) とします。 もし関数の処理中に条件分岐などで強制終了させたい場合は exit sub(or function)とします。 他言語でいうところの return ; になります。
subは戻り値がありませんが、function の場合は戻り値を返せます。 他言語では return 値としたいところですが、VBScriptの場合、関数名を変数に見立てて、関数の処理内で 関数名 = 値 とすることで値を返せます。
以上のようにVBScriptの関数は他のスクリプト言語をやった方からするとちょっととっつきにくい様な気がします。
2008年 10月 9日ドキュメント作成
2008年 10月 9日ドキュメント更新