2012-01-06 20 views
0

私はメモ帳にvbsスクリプトを作成して、テキストをExcelファイルに追加しています。これはうまくいきます。utf-8として保存されたvbsファイルが実行されない

次に、ユニコード文字をExcelファイルに書き込む必要がありました。そのため、vbsファイルをユニコードとして保存しましたが、すべて正常に動作しました。

私は他のプログラムからファイルを動的に書き込もうとしていませんが、unicode vbsファイルをutf-8フォーマットで書き出してから、vbsファイルを実行しようとするとエラーが発生します エラー:無効な文字が コード:800A0408 ソース:Microsoft VBScriptのコンパイルエラー

は、私は、UTF-8フォーマットとして保存されたファイルを実行するか、またはすることはできません。この平均は私が何かをしないのですしていますか?

ご協力いただきありがとうございます。

デーブ

答えて

2

C/WScript.exeは、UTF-8エンコードされた.vbsファイルを実行できません。その '別のプログラム'のエンコード/ライトモードを変更できない場合は、UTF-8ソースをUTF-16に変換するか、またはコードをプレーンASCIIで書き込み/生成し、ユニコードデータ ChrW()respを介して。 UTF-16(簡単)またはUTF-8(ADODB.Stream)エンコードされた外部ファイル。

WRTのコメント:限り、あなたは文字列リテラルで非ASCII文字を使用しないよう

- あなたが使用してそれらのいくつかのためにそれを避けることができる「..」& ChrW(..)& ".." - .vbsをasciiとして保存することができます。あなたの「別のプログラム」がUTF-8(BOMなし!)のようなファイルをロードして保存する場合は問題ありません。 BOMを追加する場合は、ソースファイルを変換する必要があります。

おそらく、より良いアドバイスを得るチャンスを高めるために、より詳細な情報やコードを追加する必要があります。

+0

この返信をありがとう、残念ながら私は思った。私がしようとしているのは、データベース接続を開いて、いくつかのユニコード文字を読み込んで、それをExcelに書き込むことです。あなたは、vbsファイルがansiとして保存され、これはまだ動作すると言っていますか? – Dave

3

ユニコード文字を受け入れ、VBSを正しく実行するUCS-2リトルエンディアンを使用してください。たとえば、既存のVBSファイルをnotepad ++でこの形式に変換することができます。

関連する問題