Last-modified: 2009-09-11 (金) 00:04:30 (5552d)

 WSHやExcel VBAマクロでファイルの文字コード変換をしたい場合は、ADODB.Streamで。

ファイルの文字コードをShift-JISからUTF-8に変える

Sub SJIS2UTF8(FilePath As String)

   '元のファイルストリーム(Shift_JIS)
   Set stream1 = CreateObject("ADODB.Stream")
   With stream1
       .Type = 2 'adTypeBinary=1, adTypeText=2
       .Charset = "shift-jis"
       .Open
       .LoadFromFile FilePath
       .Position = 0
   End With
   
   'UTF-8化
   Set stream2 = CreateObject("ADODB.Stream")
   With stream2
       .Type = 2 'adTypeBinary=1, adTypeText=2
       .Charset = "utf-8"
       .Open
   End With
   
   stream1.CopyTo stream2
   
   'UTF-8ファイルの先頭BOMを削除
   Set stream3 = CreateObject("ADODB.Stream")
   With stream3
       .Type = 1 'adTypeBinary=1, adTypeText=2
       .Open
   End With

   stream2.Position = 3
   stream2.CopyTo stream3

   stream3.Savetofile FilePath, 2 'adSaveCreateNotExist=1, adSaveCreateOverWrite=2
   
   stream3.Close
   stream2.Close
   stream1.Close

End Sub

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS