【VBA】テキストファイルを作成する方法

【VBA】テキストファイルを作成する方法

今回はVBAからテキストファイルを作成する方法を紹介します。

Excelファイル上のデータを軽いデータとして保存したいときなどに重宝することがあります。

ちなみにテキストファイルの作成方法はいくつかあるのですが、ADODB.Streamライブラリを使ったスタンダードな方法を紹介します。

テキストファイルを作成する方法

Sub MakeTxtFile()
    '''A1~A5セルの内容をテキストファイルへ書き出す
    
    ''保存するテキストファイルのフルパス
    Const SAVE_FILE_PATH = "D:\text.txt"
    
    With CreateObject("ADODB.Stream")
        .Charset = "UTF-8" '文字コードを指定
        .Open
        
        'A1~A5セルの内容をテキストに書き込む
        Dim row_i As Long
        For row_i = 1 To 5
            .WriteText Cells(row_i, 1), 1
        Next
        
        '作成したテキストをファイルに保存する
        .SaveToFile SAVE_FILE_PATH
        .Close
    End With
End Sub

サンプルコードを実行するとA1~A5セルの内容が入ったテキストファイルが作成されます。

A1~A5セルの内容がテキストファイルに記載される
    ''保存するテキストファイルのフルパス
    Const SAVE_FILE_PATH = "D:\text.txt"

テキストファイルの保存場所は定数(SAVE_FILE_PATH)によって指定できます。

ファイル名を含めたフルパスを好みの場所へ変更してください。

    With CreateObject("ADODB.Stream")
        .Charset = "UTF-8" '文字コードを指定
        .Open
        
        'A1~A5セルの内容をテキストに書き込む
        Dim row_i As Long
        For row_i = 1 To 5
            .WriteText Cells(row_i, 1), 1
        Next
        
        '作成したテキストをファイルに保存する
        .SaveToFile SAVE_FILE_PATH
        .Close
    End With

テキストファイルの作成はこのWithブロック内で行われています。

With文の先頭でADODB.Streamのオブジェクトを生成しています。

あとはオブジェクトでWriteTextメソッドで書き込みをしたり、SaveToFileメソッドでファイル保存をしています。

他にも文字コードの指定やOpen、Closeなどもありますがこれらはあまり変更することがないのでそのままコピーして使えばOKです。

保存場所と書き込む内容を変更して活用してみてください。

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらってはいかがでしょう?
VBAの作成依頼はこちらから

《VBA中級者向けの本》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。

created by Rinker
技術評論社
¥3,608 (2023/06/06 16:32:04時点 Amazon調べ-詳細)

他の「VBA」の記事はこちらからどうぞ

VBA

Posted by やろまい