'テキストデータに書き込み 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#ステートメントを使用してください
関連の記事