VBAで文字コードの判定を行う

VBAで文字コードの判定を行います。

何故かVBAに無い「文字コード判定」

Microsoft Excel では、[データ]→[テキスト ファイル]と選んでいって、ファイルを選択すると文字コードの判定を自動でしてくれます。

この判定がVBAから利用できれば便利なのに、VBAにはその命令がありません。

関数を追加する

そこで、文字コード(文字エンコード)を判定する関数を作成してみました。

VBAのエディタを開いたら、プロジェクト エクスプローラーで右クリック→[挿入]→[標準モジュール]として、以下を貼り付けてください。

判定方法については以下のサイトを参考にさせていただきました。

使い方

VBAの中から関数として呼び出します。

パラメータには検査したいファイル名をフルパスで入力します。

結果としては、以下の文字列が返ってきます。

返り値 文字コード
Unicode Unicode (UTF-16 LE)
UTF-8 UTF-8
Shift_JIS シフトJIS
空白 判定不能

手元にあるファイルで試したところ十分に判定してくれています。

日本語が無い、英字だけのテキストファイルの場合、判定不能になりますが、UTF-8もしくはシフトJISと思って扱えば良いと思います。

では、この辺で。(^-^)o

広告
関連記事
広告