3

を使用してテキストファイルに漢字を書き込もうとしています

Set myFSO = CreateObject("Scripting.FileSystemObject")
Set outputFile = myFSO.OpenTextFile(getOutputName(Argument, getMsiFileName(Wscript.Arguments)), forWriting, True)
outputFile.WriteLine(s) 

変数sには、他のファイルから読み取った漢字が含まれています。値をエコーsすると、画面にsが正しく表示されます。ただし、何らかの理由で、outputFile.WriteLine(s)エラーメッセージを返さずにスクリプトの実行が停止します。

私は何かが足りないのですか?

4

3 に答える 3

5

文字エンコーディングと関係があるのか​​もしれません。OpenTextFileメソッドの最後のパラメーターで、ファイルの Unicode 形式を直接指定してみてください。

Const Unicode = -1
Set outputFile = myFSO.OpenTextFile(getOutputName(Argument, getMsiFileName(Wscript.Arguments)), forWriting, True, Unicode)

また、書き込み後にファイルを閉じる必要があります。

outputFile.Close

これで解決しない場合は、AnthonyWJones が提案するようなエラー処理を試してください。

于 2010-02-09T22:29:10.763 に答える
1

これを試して:-

MsgBox "Writing Line"
On Error Resume Next
outputFile.WriteLine s '' # Removed ( ) that shouldn't be there.
MsgBox "Err " & Err.Number & ": " & Err.Description
On Error GoTo 0

あなたは何を得ますか?

于 2010-02-09T22:01:05.227 に答える