【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セルの内容が入ったテキストファイルが作成されます。
''保存するテキストファイルのフルパス
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です。
保存場所と書き込む内容を変更して活用してみてください。