このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

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

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

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

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

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

VBAが難しいと感じたら
ココナラでVBAの開発請負を行っています。
お気軽にご相談ください。

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

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

Posted by やろまい