テキストファイルの追加書き込み方法

既存のテキストファイルに追加でデータを書き込みたい場合は Open ステートメントに Append モードを指定します。

スポンサーリンク

使用方法

Openステートメント(Appendモード)

構文
Open PathName For Append [Lock] As #FileNumber
引数名 省略 説明
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行あります。

入力ファイル(CSV形式)
入力ファイル(CSV形式)

マクロを実行すると、データ行の4行目が追加されました。

sample_eb094_01実行結果
sample_eb094_01実行結果
タイトルとURLをコピーしました