'書き込み用で開く(既存は保持される) Open ThisWorkbook.Path & "\新しいテキスト ドキュメント.txt" For Append As #1
'書き込み用で開く(既存は消去される) Open ThisWorkbook.Path & "\新しいテキスト ドキュメント.txt" For Output As #1
テキストファイルを開くには「Open」ステートメントを使用します
このステートメントを実行する事でメモリ上にテキストデータを展開します
ステートメントの書式
引数(太字は必須引数)
Open Pathname For Mode As # Filenumber
引数「Pathname」・「Filenumber」に関しては以下の記事で解説を行っていますので確認してください
「Mode」は開くデータの扱いに関しての指定方法です
書き込み用に開く場合は、「Append」・「Output」のどちらかを指定します
「Append」・「Output」の違いについて
どちらのキーワードを指定しても、テキストデータの書き込みが可能です
違いは既存のデータの扱いになります
Appendは既存のデータに追記していきます
Outputは既存のデータを消去して追記していきます
実際の動きをテキストデータで確認してみます
![処理前のテキストデータ](https://vbanobuhinko.com/wp-content/uploads/2020/02/Writingtextdata1.png)
まずは、処理を実行する前のテキストデータをメモ帳で開いた状態です
この文字列にそれぞれのモードで文字列の追記を行います
Open ThisWorkbook.Path & "\新しいテキスト ドキュメント.txt" For Append As #1 Print #1, "新しい追加行,白" Close #1
このコードでは、Appendモードでの追記を行います
追記にはPrint#ステートメントを使用します
![Appendでの書き込み時のテキストデータ](https://vbanobuhinko.com/wp-content/uploads/2020/02/Writingtextdata2.png)
コード実行後のテキストデータです
もともとある3行の下にコードで追記した文字列が挿入されています
Open ThisWorkbook.Path & "\新しいテキスト ドキュメント.txt" For Output As #1 Print #1, "新しい追加行,銀" Close #1
こちらでは、Outputモードでの追記を行います
![Outputでの書き込み時のテキストデータ](https://vbanobuhinko.com/wp-content/uploads/2020/02/Writingtextdata3.png)
コード実行後のテキストデータです
こちらでは、もともとある3行のデータは消去され、コードでの追記文字列が挿入されます
新規ファイルにデータを書き込む際には、どちらのモードを使用しても構いませんが基本的には、新規時はOutput、既存に追記時はAppendをそれぞれ使用するようにします
既存テキストデータの文字形式に注意
![文字化けした状態](https://vbanobuhinko.com/wp-content/uploads/2020/02/Writingtextdata5.png)
なお、書き込み時に文字形式がANSI形式に保存されます
もともとUTFなどで保存されていた場合、Appendモードで既存の文字列の文字形式が違ってしまい、文字化けが発生します
関連の記事