• ベストアンサー

テキストファイルへの書き込み

gstrMyFileにファイルへのパスが入っているとして、以下を実行すると 今あるファイルへ追記されてしまいます。 今ある行を削除をして新たにbuf()のデータを記入したいのですが、できますか? fileNo = FreeFile Open gstrMyFile For Append As #fileNo For i = 0 To 50 Print #fileNo, buf(i) Next i Close #fileNo

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

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

>追記されてしまいます。 OpenにAppendを指定してますから、当然です。 >今ある行を削除をして新たにbuf()のデータを記入したいのですが、できますか? 出来ますよ。Appendの代わりにOutputって書きましょう。 書いてあるVBAコードが「何をするコードなのか?」は理解出来ていますか? 理解できていないから「追記されて困る」なんて事になっちゃうのです。 「VBAが何をやっているのか理解しないまま実行する」のはやめましょう。 何を実行するk理解せずに実行したら、実行したパソコンのデータが全消去されたり、起動できない状態になったりしますよ。

miya2004
質問者

お礼

ありがとうございます。 コードを実行して、意図しない結果になったら、 その都度調べながら、作っているので、 体系的な知識が無いのですね。

その他の回答 (1)

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

2行目の Append を Output にしたらどうでしょうか。