🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

1回答

4813閲覧

VBAでのUTF8への文字コードの変換

退会済みユーザー

退会済みユーザー

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2021/02/27 17:56

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への変換方法をご存じの方いらっしゃいましたら
ご教授をお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2021/02/27 18:35

> excelファイルからShift-JISのtxtファイル出力 → ADODB.StreamでUTF8に変化した物を用いて これで生成したUTF-8のテキストファイルは、サクラエディタやNotepad++で正しく表示されているのですか?また、そのファイルのBOMの有無はどうなのでしょうか。
退会済みユーザー

退会済みユーザー

2021/02/27 18:43

お世話になります ADODB.Streamで変換したファイルはサクラエディタ等では正しく見えてます 文字化けしてないです BOMはついてます
dodox86

2021/02/27 18:58

仕事上で使うマッピングツールとやらが、反対に、BOMが付いてるからダメだったりするのではないですか。 原因をできるだけ明らかにしておかないと、ADODB.Stream以外の方法でUTF-8に変換しても、同じ問題が起きる可能性があります。(
退会済みユーザー

退会済みユーザー

2021/02/27 18:59

そうですね 有難うございます確認してみます
guest

回答1

0

ベストアンサー

たぶん、想像ですが、
>その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で出力したファイルのバイナリー比較を行い、相違点を検視してください。

投稿2021/02/28 03:07

tatsu99

総合スコア5493

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/02/28 16:41

ご回答有難う御座います 残念ながら、2のBOM有りでした、相違点を確認して別の方法を探したいと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問