[Access VBA]文字コードがutf-8のテキストファイルを出力する
ADOのStreamオブジェクトを使う。以下のようなテーブルを用意して、
以下のモジュールを実行する。
Sub StreamWriteTest()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim adodbsm As Object
Set adodbsm = CreateObject("ADODB.Stream")
adodbsm.Charset = "utf-8"
adodbsm.Open
Set db = CurrentDb
Set rs = db.TableDefs("文字列").OpenRecordset
rs.MoveFirst
Do Until rs.EOF
adodbsm.WriteText rs.Fields("フィールド").Value, 1
rs.MoveNext
Loop
rs.Close
db.Close
adodbsm.SaveToFile Application.CurrentProject.Path & "\text.txt", 2
adodbsm.Close
Set adodbsm = Nothing
End Sub
そのブックが置かれたフォルダーに、ファイルstream.txtが作成され、メモ帳で開くと、中身は以下のようになっているはず。
ABC
123
あいう
辰𠮷𠀋一郎
𩸽(ホッケ)を食べる
𩹉(トビウオ)を捕まえる