△ 図をクリックすると拡大されます
図4●「ステートメントの末尾が不正です」のエラー・メッセージ

△ 図をクリックすると拡大されます
図5●「型が一致しません」というエラーが発生するコードの例

△ 図をクリックすると拡大されます
図6●図5のコードを実行したときに表示されるエラー・メッセージ

△ 図をクリックすると拡大されます
図7●図5のコード中の変数名にマイクロソフトが推奨する接頭辞を付加した例

△ 図をクリックすると拡大されます
図8●「名前が二重に定義されています」のエラー・メッセージ

△ 図をクリックすると拡大されます
表1●スクリプトのエラーを解決する際に役立つオンライン・ドキュメント(一部は英語)
●ステートメントの末尾が不正です(エラー番号1025)
 変数名がピリオド「.」を含んでいると,このエラー・メッセージが表示される(図4)。また,オブジェクト名の後ろにピリオドの代わりにカンマ「,」を付加してしまったときなど,ほかの原因で表示されることもある。

●型が一致しません(エラー番号13)
 処理を実行する際に不適切なデータを含む変数を使うとこのエラー・メッセージが表示される。例えば,図5のコードでは+演算子で数値に文字列を加算しようとしているために,このエラーが発生する(図6)。

 Windows & .NET Magazine 2002年4月号に掲載した記事「Quick Scripting Tips」(InstantDoc ID 24232)で,Christa Anderson氏は以下のように助言している——「変数は,意味に応じた名前にする。文字列はsで始まる名前,オブジェクトはoで始まる名前にするといった具合だ。こうすることでデバッグ作業が楽になる。VBScriptの式の中には,予期しない型のデータを渡すと正常に動作しなかったり,データによって異なる動作をしたりするものがある。スクリプトに渡すデータの型が明確であれば,型の不一致によるエラーは簡単に解消できる」——。

 Windows Script 5.6のヘルプ・ファイルの「VBScriptのコード記述規則」セクション(script56.chmというファイルに含まれるほか,マイクロソフトのWebサイトでも参照できる)には,マイクロソフトが推奨する,変数名に付ける接頭辞(プリフィックス)の一覧がある。例えば,先ほどのコードにこれらの接頭辞を加えると図7のようになる。これであれば,7行目のエラーにすぐ気づき,strCをintBに変更するだろう。

●名前が二重に定義されています(エラー番号1041)
 変数名が一意でない場合にこのエラー・メッセージが表示される(図8)。このエラーを防ぐ最も簡単な方法は,意味のある変数名を使うことである。先の例なら,intA,intB,strC,intDの代わりにそれぞれintMinniesWeight,intBrutusWeight,strLabel,intBothDogsWeightとすればよい。

 ここまで紹介してきたVBScriptのエラー・メッセージのリストは,決して完全なものではない。ほかにも様々なエラー・メッセージに出会うことと思う。表1にVBScriptでスクリプトを作成する際に遭遇する一般的なエラー・メッセージについて解説したオンライン・ドキュメントをいくつか挙げておく。