- ベストアンサー
CSV出力で改行がうまくできない。
VBAでテキストファイルにCSV出力をおこなっています。 方法は、 Print #FreeFile, FreeFileOutput; でおこなっています。FreeFileOutputは変数でカンマで区切られた複数の値が はいっています。最後はカンマはありません。つまり、 "a,b,c,d" といった値がFreeFileOutputにはいっています。 これをループでまわして、複数行を出力したいとおもっています。 無事に出力はできるのですが、テキストファイルを見ると各行の終わりで改行 されていません。print関数を使い";"をつけると自動で改行が入力される みたいですがされません。どうしてでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
気になるのでしたらvbcrlfで明示的に改行文字を入れてみるのはどうでしょう? Print #FreeFile, FreeFileOutput & vbCrlf; とか >print関数を使い";"をつけると自動で改行が入力される Excel2003のVBAのヘルプを見てたんですが ------------------------------------- 引数 outputlist は、次の形式で指定します。 [{Spc(n) | Tab[(n)]}] [expression] [charpos] (中略) charpos 次の文字の出力位置を指定します。セミコロン (;) を指定すると、次の文字は最後の文字の直後から出力されます。Tab(n) 関数で出力位置の桁番号を指定できます。Tab 関数の引数 n に何も指定しないと、出力位置は次の印字領域の先頭になります。引数 charpos を省略すると、次の文字は次の行の先頭から出力されます。 ------------------------------------- むしろ、";"を指定すると逆に改行が入力されないような感じです。 (入力されたら最後の文字の直後ではなくなる) だとすれば Print #FreeFile, FreeFileOutput の方が期待する動きになりそうです
その他の回答 (1)
- andy_kun
- ベストアンサー率23% (64/274)
>print関数を使い";"をつけると自動で改行が入力されるみたいですがされません。どうしてでしょうか? 逆です。 ;をつけると改行が出力されません。