VBAで文字コードを指定してファイル出力

エクセルを使っているとよくVBA使います。
テキストファイルに出力する際の文字コードの設定方法。
参照設定の追加


ツール→参照設定→Microsoft ActiveX Data Objects 2.7 Library

の手順で参照設定を追加

ソース



Public Sub Write(filename As String, text As String)

On Error GoTo err_

Dim Stm As New ADODB.Stream
Dim bytData() As Byte

With Stm
.Charset = "utf-8"
.Type = adTypeText
.Open
.WriteText (text)
.Position = 0
.Type = adTypeBinary
.Position = 3
bytData = .Read
.Close
.Open
.Type = adTypeBinary
.Write bytData
.SaveToFile filename, adSaveCreateOverWrite
.Close
End With
Set Stm = Nothing

Exit Sub

err_:
If Stm.State = adStateOpen Then
Stm.Close
End If
Set Stm = Nothing
Err.Raise Err.Number
End Sub


こんな感じで文字コードを指定してファイル出力できる。

0 コメント: