VBAでUTF-8のファイルを書き出す

目的

VBA(Excelマクロ)を使って、文字コードがUTF-8のテキストファイルを書き出す

サンプルコード

注意事項

上記のマクロで作成したテキストファイルの先頭にはBOM(Byte Order Mark)の3バイト(0xEF, 0xBB,0xBF)が挿入される。VisualStudioなど多くのMicrosoft製品が扱うUTF-8のテキストファイルはBOMが付加されるが、Unicodeの規格上はUTF-8のBOMは必須ではない(「BOMあり」と「BOMなし」が存在する)ため、注意すること。

次のように書き分けるときもある

  • UTF-8 : BOMあり
  • UTF-8N : BOMなし