MW211 EXIT

devlog
ExcelVBA/UTF-8出力
2015年08月10日
ExcelVBAでは、通常「Shift-JIS」で出力されるが、これを「UTF-8」にしたい場合。

「ADODB.Stream」を使用する。
まず、参照設定にて
「Microsoft ActiveX Data Object6.1 Library」にチェックを入れること。


そしてサンプルソースとしては以下のような感じに処理を行えばよい。
┌──────────────────────────────────────┐
│Public Sub UTF8出力()                                                       │
│    Dim 出力先 As New ADODB.Stream                                          │
│    With 出力先                                                             │
│        .Type = adTypeText                                                  │
│        .Charset = "UTF-8"                                                  │
│        .LineSeparator = adCRLF                                             │
│        .Open                                                               │
│    End With                                                                │
│    出力先.WriteText Cells(1, 1).Value                                      │
│    出力先.SaveToFile ActiveWorkbook.Path & "\output.txt", _                │
│                      adSaveCreateOverWrite                                 │
│    出力先.Close                                                            │
│    MsgBox "完了"                                                           │
│End Sub                                                                     │
└──────────────────────────────────────┘
分類:ExcelVBA