• ベストアンサー

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ではじめからファイルに書き込んでいく方法でもかまいません。

質問者が選んだベストアンサー

  • ベストアンサー
  • process9
  • ベストアンサー率29% (81/271)
回答No.2

う~ん、 LineSeparatorは、書き込み時点での指定みたいな感じがしますね~。 読み込む前か、読み込んだ後に ソースの方も変えてみたらどうでしょうか。 src.LineSeparator = 10 Src.LoadFromFile "test.txt" か又は Src.LoadFromFile "test.txt" src.LineSeparator = 10 の2つ試してみたらどうでしょうか。

azicyan
質問者

お礼

書き込みありがとうございました

その他の回答 (2)

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.3

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
azicyan
質問者

お礼

回答ありがとうございます。

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.1

Src.CopyTo Dst Dst.LineSeparator=10 じゃないですか?

azicyan
質問者

お礼

順番違いですか??!! やってみます!!

azicyan
質問者

補足

う~ ダメです・・・ やっぱりUTFの変換は成功しますが、 改行コードがCRLFのままです・・・(涙

関連するQ&A