vba – sjisのファイルをUTF-8に変換する

' 参照設定で「Microsoft ActiveX Data Object 6.1 Library」を追加すること
' ファイルの文字コード変換 : sjis→UTF-8
Sub SjisToUtf8(FilePath As String)
Dim txtBuf As String
Dim byteData() As Byte
Dim adoSt As New ADODB.Stream
    With adoSt
        'Shift_JISで読込
        .Type = adTypeText
        .Charset = "Shift_JIS"
        .Open
        .LoadFromFile FilePath
        txtBuf = .ReadText
        .Close
        'UTF-8で保存
        .Charset = "UTF-8"
        .Open
        .WriteText txtBuf, adWriteChar
        'BOM削除
        .Position = 0
        .Type = adTypeBinary
        .Position = 3
        byteData = .Read
        .Close
        .Open
        .Write byteData
        .SaveToFile FilePath, adSaveCreateOverWrite
        .Close
    End With
    Set adoSt = Nothing
End Sub

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です