- ベストアンサー
CRLFをLFに変換したい
テキストファイルを 1)SJIS → UTF-8 2)CRLF → LF に変換させたいのですが、1)はうまく出来たのですが、 2)がうまくいかず困っています Set Src = CreateObject("ADODB.Stream") Src.Open Src.Type = 2 Src.Charset = "Shift_JIS" Src.LoadFromFile "test.txt" Set Dst = CreateObject("ADODB.Stream") Dst.Open Dst.Type = 2 Dst.Charset = "UTF-8" Dst.LineSeparator=10 Src.CopyTo Dst Src.Close Dst.SaveToFile "utf-out.txt", 2 Dst.Close 改行コードが何も変化しません。 どうすればよいか教えてください。 ADODBではじめからファイルに書き込んでいく方法でもかまいません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
う~ん、 LineSeparatorは、書き込み時点での指定みたいな感じがしますね~。 読み込む前か、読み込んだ後に ソースの方も変えてみたらどうでしょうか。 src.LineSeparator = 10 Src.LoadFromFile "test.txt" か又は Src.LoadFromFile "test.txt" src.LineSeparator = 10 の2つ試してみたらどうでしょうか。
その他の回答 (2)
- kakusuke
- ベストアンサー率36% (95/259)
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpado260/htm/mdprolineseparator.asp ↑を見る限り、 書き込み時のことには一切触れていません。 windows用なのですから、 LineSparatorは変えられないって事でしょうか? 奥の手として、Scripting.FileSystemObjectでもいいので、 ReadAllした後に、Replaceして書き込むとか。
- 参考URL:
- http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpado260/htm/mdprolineseparator.asp
お礼
回答ありがとうございます。
- kakusuke
- ベストアンサー率36% (95/259)
Src.CopyTo Dst Dst.LineSeparator=10 じゃないですか?
お礼
順番違いですか??!! やってみます!!
補足
う~ ダメです・・・ やっぱりUTFの変換は成功しますが、 改行コードがCRLFのままです・・・(涙
お礼
書き込みありがとうございました