MW211 EXIT

devlog
ExcelVBA/UTF-8変換
2014年09月08日
シフトJISファイルを読み込んでUTF-8に変換し上書する関数。
┌──────────────────────────────────────┐
│Public Sub UTF8変換(対象ファイル名 As String)                               │
│    Dim 変換前 As New ADODB.Stream                                          │
│    Dim 変換後 As New ADODB.Stream                                          │
│                                                                            │
│    Set 変換前 = CreateObject("ADODB.Stream")                               │
│    Set 変換後 = CreateObject("ADODB.Stream")                               │
│    変換前.Charset = "Shift_JIS"                                            │
│    変換後.Charset = "UTF-8"                                                │
│    Call 変換前.Open                                                        │
│    Call 変換後.Open                                                        │
│                                                                            │
│    Call 変換前.LoadFromFile(対象ファイル名)                                │
│    Call 変換前.CopyTo(変換後)                                              │
│    Call 変換後.SaveToFile(対象ファイル名, adSaveCreateOverWrite)           │
│                                                                            │
│    Call 変換後.Close                                                       │
│    Call 変換前.Close                                                       │
│    Set 変換後 = Nothing                                                    │
│    Set 変換前 = Nothing                                                    │
│End Sub                                                                     │
└──────────────────────────────────────┘

なお、ExcelVBAエディタ上から「ツール」→「参照設定」を開き、
「☑Microsoft ActiveX Data Objects 6.1 Library」とチェックを入れる必要あり。
分類:ExcelVBA