テキストデータにデータを書き込む(Write#)

テキストデータにWrite#ステートメントで書き込みを行います。csvなどのデータとして扱う場合に使用

'テキストデータに書き込み
Write #1, "文字列", 123

Openステートメントで開いたテキストデータに書き込みを行うには「Write#」ステートメントを使用します

このステートメントはcsvデータなどの、後でデータとして扱う場合に使用します
なので、データを1行にまとめて指定する必要があります
その場合に「,」もしくは「;」を使用することでデータを結合して指定できます

引数1つ目はOpenステートメントで開いたときのファイル番号です
引数2つ目が書き込みをするデータになります

データとして書き込みをされるため、文字列の場合には「”」を含めて書き込みされます
数値は文字列ではないため、数値だけが書き込みされます

書き込みの動き

Write#ステートメントでテキストデータを書き込む場合は、csvのようなデータ群である場合が多いため、空白のテキストデータに書き込みを行います
そのため、Openステートメントで「Output」モードで既存のデータはクリアしてからデータの書き込みを行います

Open ThisWorkbook.Path & "\新しいテキスト ドキュメント.txt" For Output As #1
Write #1, "新しい追加行,白", 123
Write #1, "新しい", "追加行"; "黒", "123"
Close #1

このコードは、既存のデータがあった場合はクリアしてから2行のテキストデータを書き込みます

データの書き込みを実行した状態
実行結果

画像のテキストデータが実行結果のデータです

文字列で指定した部分は、「”」が付与されたまま書き込まれています
数値指定で書き込んだ場合はそのまま書き込みが行われます

また、「,」でも「;」でも実際に書き込まれているのは「,」になっています

空白行の追加

Write#ステートメントでは、文字列には「”」が付与されます
そのためPrint#ステートメントのように「””」と指定するとうまくいきません
何も入力しないことで空白行の指定が可能です

Write #1, "新しい追加行,白", 123
Write #1,
Write #1, "新しい", "追加行"; "黒", "123"

2行目に空白行を挿入する場合には、このコードのように2つ目の引数には何も入力しないようにします

空白がうまく挿入された状態
空白がうまく入っている状態

実行結果の画像を確認してもらうと分かりますが、2行目には何も入力されておらず、ちゃんと空白行が挿入されています

Write #1, "新しい追加行,白", 123
Write #1, ""
Write #1, "新しい", "追加行"; "黒", "123"

このコードのような状態で実行するとうまくいきません

空白がうまく入っていない状態
空白がうまく入っていない状態

画像の様に2行目が空白行とならず、「””」が入ってしまいます
空白行を挿入する場合は上記のコードのようにしてください

また、このWrite#ステートメントで書き込みをしたデータの読み込みにはInput#ステートメントを使用してください