分かりやすく、使いやすく。

テキストファイルに書き込む方法(Shift-JIS)

スポンサーリンク

VBA でテキストファイルに文字列を書き込むには、Open でファイルを開き Print で文字列を出力します。書き込んだ後は Close でファイルをクローズします。

尚、Shift-JIS 以外の文字コード( UTF-8 など)の文字コードでテキストファイルに出力する場合は ADODB.Stream を使用します。ADODB.Stream を使用して UTF-8 でテキストファイルに出力するサンプルコードはUTF-8など文字コードを指定してテキストファイルに書き込む方法を参照してください。

  1. 上書きで書き込む場合
  2. 追記で書き込む場合


上書きで書き込む場合

上書きで書き込む場合は Open 時に Output を指定します。上書きの場合、すでにファイルが存在する場合は既存のファイルの内容をクリアした上で書き込みを行います。ファイルが存在しない場合は、新しいファイルを作成してそこに書き込みを行います。

VBA(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
' 上書き書込みのサンプル。
' 元のファイルの内容はクリアされる。
Sub WriteTest1()
    ' エラーの場合、WriteErrorラベルに飛ばす。
    On Error GoTo WriteError
    
    ' 上書きモードでファイルをオープン
    Open ".\Test.txt" For Output As #1
    
    ' オープンしたファイルに文字列を出力
    Print #1, "1行目に出力する文字列"
    Print #1, "2行目に出力する文字列"
    Print #1, "3行目に出力する文字列"
    
    ' ファイルをクローズ
    Close #1
    
    Exit Sub
WriteError:
    Close #1
    MsgBox "書込みに失敗しました。"
End Sub 

追記で書き込む場合

追記で書き込む場合は Open 時に Append を指定します。追記の場合、すでにファイルが存在する場合は既存のファイルの末尾に追加する形で書き込みを行います。ファイルが存在しない場合は、新しいファイルを作成してそこに書き込みを行います。

VBA(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
' 追記書込みのサンプル。
' 元のファイルの内容はクリアされず、
' 元の内容の最後に追記する形で出力する。
Sub WriteTest2()
    ' エラーの場合、WriteErrorラベルに飛ばす。
    On Error GoTo WriteError
    
    ' 追記モードでファイルをオープン
    Open ".\Test.txt" For Append As #1
    
    ' オープンしたファイルに文字列を出力
    Print #1, "追記する出力する文字列①"
    Print #1, "追記する出力する文字列②"
    Print #1, "追記する出力する文字列③"
    
    ' ファイルをクローズ
    Close #1
    
    Exit Sub
WriteError:
    Close #1
    MsgBox "書込みに失敗しました。"
End Sub 
スポンサーリンク