文字コードは合ってる?VBSでパスが見つからない時の対処法
以前、VBScriptでパスが見つからないというエラーメッセージに悩まされていたことがありました。
このエラーの原因は、単純にVBScript非対応の文字コードを使用していたことでした。
VBScriptが対応している文字コードはANSIとUTF-16です。
以下のサンプルで動作確認してみます。まず、hello worldと書かれたテキストファイルを用意します。そして以下のコードを記したVBSファイルを作成します。テキストエディタはAtomを使用しました。
----------------------------------------
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("ファイルのパス", ForReading)
strLine = objFile.ReadAll
objFile.Close
WScript.Echo strLine
----------------------------------------
正常に動作すれば、テキストファイルに書かれたhello worldが読み取られ、表示されます。
文字コードをUTF-16LEとUTF-8で実行した結果を以下に示します。
-------------UTF-16LEでの実行結果----------
hello world
-------------UTF-8での実行結果---------------
パスが見つかりません。
-------------------------------------------------------
パスが見つからない場合は一度文字コードが正しいか確認してみてください。少しでも参考になれば幸いです。