• ベストアンサー

エクセルVBAのprintステートメントについて

エクセルVBAのprintステートメントについて エクセルVBAからテキストファイルに文字列を書き出す場合、output権限でテキストファイルを開いて、printで一行ずつ書き出すということをやっています。この際、テキストファイルの最終行の次の行に一行を書き出すのではなく、最終行の最後に追記することはできますでしょうか。 例えば、下記のようなテキストファイルの場合、cccの次の行に書き出すのではなく、 cccの直後に文字列を書きたいのです。 よろしくお願いします。 ファイルの始まり aaa bbb ccc <EOF> -- エクセル2003

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

  • ベストアンサー
回答No.4

Printするときに改行させないようにすれば良いのではないでしょうか? Print #1, ccc; とPrintステートメントの最後をセミコロンにすれば改行されません。 改行が必要な場合には Print #1, vbCrLf; と明示的に改行を出力します。

lelion1000
質問者

お礼

できました!ありがとうございました!

その他の回答 (3)

  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.3

cccをPRINTした直後に もう一回PRINTすればいいんじゃないの? その後にCLOSEする。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

テキストファイルの書き出しにおいて、Appendモードというのが、昔のBASICからVBである(Javaなどにもある。FSOのFileSystemObject.OpenTextFile(filename[, iomode[, create[, format]]])のimodeもそうである ーー これをWEBで調べるべき問題ではないかな。沢山記事がある。 また本質問は、質問者はたまたまVBAを使っているのだろうが、Printなどは、エクセルVBAの問題(質問ではなく)Basicの問題だろう。

lelion1000
質問者

お礼

ありがとうございます。参考にします。

  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.1

cccの直後(改行せずに)という事であれば、 cccと文字を結合してまとめて書き出せばいいと思いますけど。 EOFの後にって話じゃないですよね?

lelion1000
質問者

お礼

ありがとうございます。 できれば、cccを書いた後に、さらにcccの後ろに追記したいのです。

関連するQ&A