テキストファイルを作成し、データを出力します。
ファイルをUTF-8フォーマットで出力します。


以下の関数を使用していますので、リンクから関数をコピーします。
・ファイルの有無を確認する IsFileExists()
・最終行取得(一番下から) GetLastRow()
【サンプルプログラム】
Sub sample2()
Dim wb As Workbook
Dim ws As Worksheet
Dim filename As String
' サンプルファイル
filename = "C:\ExcelVBA\最終行列取得\sample1.xlsx"
If IsFileExists(filename) = True Then ' ファイルの有無を確認
Set wb = Workbooks.Open(filename) ' ブックを開く
Set ws = wb.Sheets(1) ' シートを取得
TextOutput_UTF8 ws, "C:\ExcelVBA\テキストファイルを出力\test_utf8.txt"
' ブックを閉じる
wb.Close
Else
MsgBox filename & "は存在しません", vbExclamation
End If
End Sub
【関数化】
' テキストファイル出力(UTF-8)
Sub TextOutput_UTF8(ws As Worksheet, filename As String)
Dim last_row As Long
Dim idx1 As Long
With CreateObject("ADODB.Stream")
.Charset = "UTF-8"
.Open
last_row = GetLastRow(ws) ' 最終行を取得
For idx1 = 1 To last_row
.WriteText ws.Cells(idx1, 2).Value & "," & ws.Cells(idx1, 3).Value, 1
Next
' ファイルに書き込む(2:無い場合は作成、有る場合は上書き)
.SaveToFile filename, 2
' ファイルを閉じる
.Close
End With
End Sub


コメント