質問: VBAでのUTF8への文字コードの変換について VBAでの文字コードへの変換方法として一般的なのが、ADODB.Streamを使った物かと思います。 excelファイルからShift-JISのtxtファイル出力 → ADODB.StreamでUTF8に変化した物を用いて 仕事上で使うマッピングツール、テキストファイルから単語を抽出する作業をしようとした所 文字化けして正しく抽出できませんでした。 そのツールの文字コードもUTF8です。 ただ、そのexcelファイルからShift-JISに出力したtxtファイルを直接、サクラエディタや NotePad++でUTF8に変換したところツールで文字化けしませんでした。 エディタで変換の方法は業務上、正規には使えず、VBAの変換で行わなければならない為 VBAでADODB.Stream以外での、Shift-JIS → UTF8への変換方法をご存じの方いらっしゃいましたら ご教授をお願い致します。
回答: たぶん、想像ですが、 >そのexcelファイルからShift-JISに出力したtxtファイルを直接、サクラエディタや >NotePad++でUTF8に変換したところツールで文字化けしませんでした。 このとき、BOM無で保存したのではないでしょうか。再度、BOM有かBOM無を確認してください。 1.BOM無で保存した場合 ADODB.Streamを使い、BOM無で出力するサンプルがありますので、下記URLを参照し、BOM無で出力するようにしてください。 BOMなしでUTF-8出力 https://tonari-it.com/excel-vba-utf8n-bom/ VBAでUTF-8 BOMなしのファイルを出力する関数。 https://qiita.com/9ryuuuuu/items/d052ee7612ea3d01fed6 2.BOM有で保存した場合 考えにくいですが、 サクラエディタで出力したファイルとVBAで出力したファイルのバイナリー比較を行い、相違点を検視してください。