BLOG

VBA BOMなしUTF-8でファイル保存

2015/3/29


VBAでBOM除去する方法です。

まずはいつも通りADODB.Streamを使ってデータを追加する。

そして下記を追加。

仕組みは
バイナリデータを保持するバイト配列を用意。
ストリームのカーソル位置を0バイト目にする。
ストリームのデータタイプをバイナリに変更する。
ストリームのカーソル位置を3バイト目に変更する。
※BOMは先頭3バイトのデータなので
現在のカーソル位置以降のデータをすべてバイト配列に保持する。
ストリームを閉じる。
再度ストリームを開く。
BOMを飛ばしたバイトデータをストリームに書き込む。

Tag:

SEARCH

BLOG