投稿日 | : 2003/03/09(Sun) 15:36 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re: テキストファイルの改行コードについて |
相手側は、何を改行コードとみなしているのか?
現在は、どのような方法でテキストファイルを生成しているのか?
それによって回答は変わってくるでしょう。
とりあえず今回は、Print#ステートメントによる出力だと仮定して回答します。
> 何とか改行コードを入れずにテキストファイルに複数行書き込む事はVBではできないでしょうか。
複数行のデータを出力させようとしているのに、
改行コードは含めない……というのは、何か矛盾していませんか?(^^;)
とりあえず、Windowsでの改行は、通常、「CRLF」ですから、
Print #FNo, "AAA,BBB,CCC,DDD,EEE"
Print #FNo, "FFF,GGG,HHH,III,JJJ"
という出力は、
(\rが改行[CR]、\nが復帰[LF])
AAA,BBB,CCC,DDD,EEE\r\nFFF,GGG,HHH,III,JJJ\r\n
という結果を生む事になります。
ですから、もし、Unix側が「LF改行」の設定になっているのであれば、
> 例:(^Mが改行コード)
> AAA,BBB,CCC,DDD,EEE^M
> FFF,GGG,HHH,III,JJJ^M
のように見えてしまうかもしれませんね。
Unix側がCR改行なのか、LF改行なのか、CRLF改行なのかを調べておいてください。
(多分、LF改行だとは思いますけれど)
で。改行の出力を抑制したいのであれば、
Print #FNo, "AAA,BBB,CCC,DDD,EEE";
Print #FNo, "FFF,GGG,HHH,III,JJJ";
のように、最後にセミコロンを付加すればOKです。
ただしこれでは、CRもLFも送られませんから、必要に応じて、
Print #FNo, "AAA,BBB,CCC,DDD,EEE"vbLf;
Print #FNo, "FFF,GGG,HHH,III,JJJ"vbLf;
のように、自分で改行コードを送出してやる必要があります。
あるいは、改行コードを任意に選択できるようなオブジェクトを使うことです。
例えば、ADOのStreamオブジェクトは、LineSeparatorプロパティを使うことで、
改行コードを CR、LF、CRLF の3種から選択する事ができるようになっています。
http://www.microsoft.com/japan/msdn/library/ja/jpado260/htm/mdobjstream.asp