テキストデータを開く(書き込み用)

テキストデータをメモリ上に開くにはOpenステートメントを使用します。その時に書き込み用で開くコードと注意点

'書き込み用で開く(既存は保持される)
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は既存のデータを消去して追記していきます

実際の動きをテキストデータで確認してみます

処理前のテキストデータ
処理実行前のテキストデータ

まずは、処理を実行する前のテキストデータをメモ帳で開いた状態です
この文字列にそれぞれのモードで文字列の追記を行います

Open ThisWorkbook.Path & "\新しいテキスト ドキュメント.txt" For Append As #1

Print #1, "新しい追加行,白"

Close #1

このコードでは、Appendモードでの追記を行います
追記にはPrint#ステートメントを使用します

Appendでの書き込み時のテキストデータ
Appendでの追記実行時

コード実行後のテキストデータです
もともとある3行の下にコードで追記した文字列が挿入されています

Open ThisWorkbook.Path & "\新しいテキスト ドキュメント.txt" For Output As #1

Print #1, "新しい追加行,銀"

Close #1

こちらでは、Outputモードでの追記を行います

Outputでの書き込み時のテキストデータ
Outputでの追記実行時

コード実行後のテキストデータです
こちらでは、もともとある3行のデータは消去され、コードでの追記文字列が挿入されます

新規ファイルにデータを書き込む際には、どちらのモードを使用しても構いませんが基本的には、新規時はOutput、既存に追記時はAppendをそれぞれ使用するようにします

既存テキストデータの文字形式に注意

文字化けした状態
文字化けした状態

なお、書き込み時に文字形式がANSI形式に保存されます
もともとUTFなどで保存されていた場合、Appendモードで既存の文字列の文字形式が違ってしまい、文字化けが発生します