VBScript実行時に「終了していない文字列型の定数です。」や「文字が正しくありません。」というMicrosoft VBScript コンパイル エラーが発生した際の原因と対処方法について覚書。
発生するエラー
VBScriptを実行した際に以下のようなメッセージボックスが表示され、実行できません。
エラー:文字が正しくありません。
コード:800A0408
ソース:Microsoft VBScript コンパイルエラー
また、プログラムに日本語文字列が入っていると以下のようなエラーメッセージが表示される場合もあります。
「終了していない文字列型の定数です。」
いずれも原因は同じです。
エラーの原因
VBScriptで使用できないような全角の文字等入っていると発生しますが、そういった文字を使っていない場合はファイルの文字コードを確認してください。
もしファイルの文字コードが「UTF8」だった場合は「Shift JIS」形式に変更すればエラーが発生せず、問題なく実行できるようになります。
Shift JISへの変更
一旦対象のファイルをコピーしてバックアップを取っておいてください。
ファイルのコードを一旦すべて選択して切り取って、メモ帳の場合は[名前をつけて保存」で文字コードを「Shift JIS」に指定して上書き保存します。
「Shift JIS」で上書き保存したら、切り取っていたコードを貼り付けて上書き保存します。
「Shift JIS」で保存されたVBScriptのファイルをダブルクリックして問題なく実行されたらバックアップしたファイルは削除して結構です。
補足
ファイルの文字コードを変更するのにごちゃごちゃ操作するのはめんどくさかったり、文字コードを変換するファイルがたくさんある場合は文字コードを変換用のフリーソフトを使うと便利です。
まとめ
特殊な文字等を使っていないのに、このエラーが出て解決するのに少し時間がかかったので覚え書きしておきます。
コメント