既存のテキストファイルに追加でデータを書き込みたい場合は Open ステートメントに Append モードを指定します。
使用方法
Openステートメント(Appendモード)
引数名 | 省略 | 説明 |
---|---|---|
PathName | × | 文字列式にはファイル名を指定します。 フォルダ名、またはドライブ名も含めて指定できます。 |
Lock | ○ | 開くファイルに対する、他のプロセスからのアクセスを制御する、次のいずれかのキーワードを指定します。
Shared Lock Read Lock Write Lock Read Write |
FileNumber | × | 1 ~ 511 の範囲で任意のファイル番号を指定します。 予め FreeFile 関数 を使用して次に使用可能なファイル番号を取得しておいてください。 |
Print # ステートメント
前述のテキストファイル新規書き込み方法 Print # ステートメントと同じです。
Write # ステートメント
前述のテキストファイル新規書き込み方法 Write # ステートメントと同じです。
Close ステートメント
前述のテキストファイル新規書き込み方法 Close ステートメントと同じです。
使用例
テキストファイル(CSV形式)への追加書き込み
Print # ステートメントを使用し、CSV形式のファイルへデータを追加で書き込む例です。
Sub sample_eb094_01()
Dim myPath As String
Dim FileNumber As Integer
Dim outDats(1 To 3) As Variant
'このマクロが組み込まれたエクセルファイルと
'同じフォルダにある"test_append.csv"を出力ファイルとします。
myPath = ThisWorkbook.Path & "¥test_append.csv"
'空いているファイル番号を取得します。
FileNumber = FreeFile
'ファイルをAppendモードで開きます。
Open myPath For Append As #FileNumber
'出力用の配列へデータをセットします。
outDats(1) = "01234"
outDats(2) = "桃"
outDats(3) = 230
'配列の要素をカンマで結合して出力します。
Print #FileNumber, Join(outDats, ",")
'入力ファイルを閉じます。
Close #FileNumber
End Sub
ワークブックの名前とパス FreeFile関数 Join関数 配列の宣言
下図はマクロ実行前のCSVファイルです。ヘッダー1行、データ3行あります。
マクロを実行すると、データ行の4行目が追加されました。