テキストファイルに追記する
テキストファイルの末尾へ1行分の文字列と改行を追記します。なければ新規作成します。
実行前に確認
- Windows専用の例です。C:\Dataは例なので、自分で用意した練習用フォルダーの絶対パスに変更してください。
- 繰り返すたびに同じ文を追加します。元ファイルの末尾に改行がなければ、直前の文字列に続けて書き込まれます。
- Windowsの既定文字コードを使う例で、UTF-8指定はできません。別の文字コードのファイルへ追記しないでください。
1サンプルコード
Sub Example4021()
Dim filePath As String, fileNumber As Integer, opened As Boolean, message As String
filePath = "C:\Data\sample.txt"
If MsgBox(filePath & vbCrLf & "末尾へ1行追記します。続けますか?", _
vbYesNo + vbExclamation + vbDefaultButton2) <> vbYes Then Exit Sub
On Error GoTo Failed
fileNumber = FreeFile
Open filePath For Append As #fileNumber
opened = True
Print #fileNumber, "追記する内容"
Close #fileNumber
opened = False
MsgBox "書き込みました: " & filePath
Exit Sub
Failed:
message = Err.Description
On Error Resume Next
If opened Then Close #fileNumber
On Error GoTo 0
MsgBox message
End Sub図で見るファイルの変化
イメージ図コードに沿った概念図です。実際の画面や実行結果ではありません。
追記前
C:\Data\sample.txt:既存内容あり、またはファイルなし 親のC:\Dataは用意済み
手動:確認
パスと追記内容を確認して「はい」
マクロ:追記
末尾へ「追記する内容」と改行を書き、ファイルを閉じる
追記後
同じsample.txtに内容が増える。なければ新規作成
「いいえ」で終了。毎回同じ文を追加します。元の末尾に改行がなければ直前の文字に続きます。Windows既定文字コード用で、UTF-8を指定できません。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する5つの手順で、コードの使い方を確認できます
- 1
Windows版のデスクトップExcelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]に、この例だけを貼り付けます。
- 2
C:\Dataなどの保存先フォルダーを用意し、filePathを練習用ファイルのパスへ変更します。既存ファイルは先にバックアップします。
- 3
Print #の「追記する内容」を保存したい文字へ変更します。
- 4
実行するSubの内側にカーソルを置き、F5キーを押します。 確認画面で対象と処理内容を読み、続けてよい場合だけ[はい]を押します。
- 5
指定した文字と改行がファイルの末尾へ追加されます。ファイルがなければ新規作成されます。 メモ帳でファイルを開き、結果を確認します。