なんだかGoodVibes

日々の勉強メモです。

【VBA】UTF-8(Bomなし)でファイルを出力する

こんにちは。
本日はVBAメモです。

概要

メニューの開発からVisal Basicを開いて
ツール -> 参照設定
で以下のチェックを入れておいてください。
Microsoft ActiveX Data Objects x.xLibrary」


サンプルコード

Sub Main()
    Dim path As String: path = ThisWorkbook.path & "\sample.txt"
    Dim str As String: str = "こんにちは、世界!"
    Dim byteArr() As Byte
    With CreateObject("ADODB.Stream")
        .Charset = "UTF-8"
        .Open
        .WriteText str
        .Position = 0
        .Type = adTypeBinary
        .Position = 3
        byteArr = .Read
        .Close
        .Open
        .Write byteArr
        .SaveToFile path, 2
        .Close
    End With
End Sub

サンプルでは、.SaveToFileの第2引数に2を指定しているので
上書きで保存するようにしています。

すでに存在する場合にエラーにしたい場合は、1を指定してください。

サンプルを実行すると、UTF-8(Bomなし)のファイルが作成できます。



以上です。