[ExcelVBA]文字コードがutf-8のテキストファイルを出力する
ADOのStreamオブジェクトを使う。以下のようなワークシートを開いた状態で、以下のSubプロシージャを実行する。
Sub StreamWriteTest()
Dim i As Long
Dim s As String
Dim adodbsm As Object
Set adodbsm = CreateObject("ADODB.Stream")
adodbsm.Charset = "utf-8"
adodbsm.Open
For i = 1 To 6
s = ActiveWorkbook.ActiveSheet.Cells(i, 1).Value
adodbsm.WriteText s, 1
Next i
adodbsm.SaveToFile ActiveWorkbook.Path & "\stream.txt", 2
adodbsm.Close
Set adodbsm = Nothing
End Sub
そのブックが置かれたフォルダーに、ファイルstream.txtが作成されて、メモ帳で開くと、中身は以下のようになっているはず。
ABC
123
あいう
辰𠮷𠀋一郎
𩸽(ホッケ)を食べる
𩹉(トビウオ)を捕まえる