• 締切済み

VBScriptで引数を省略したい場合

VBScript の Function、Sub プロシージャで引数を省略したい場合、Optional キーワードが使えないので、空文字を渡すようにしていますが、これは言語仕様的に正しいやり方でしょうか? Sub MyProc(ByVal a, ByVal b) . . . End Sub Call MyProc(a, "")   '← 引数 b は状況に応じて省略したい。 よろしくお願いします。

みんなの回答

  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.1

言語仕様ではそんなことまで関知しません。 「サブルーチンの名前にMy...とつけるのは言語仕様的に正しいか」という質問と同レベル。 正しく動作するならどうでもいいです。 省略したいケースとしては、 (1) 前の引数の値によって後の引数が参照されない (2) 省略した場合にデフォルト値を使いたい (1)だと何を渡してもいいですね。 (2)だと Sub MyProc(ByVal a, ByVal b) if TypeName(b)="Nothing" then b="default value" end if ... end sub call MyProc("value a",Nothing) というようにすると「省略している」という感じが強くなると思います。まあ、これも主観の問題。

すると、全ての回答が全文表示されます。

関連するQ&A