※ ChatGPTを利用し、要約された質問です(原文:UnicodeでないファイルをUnicode保存)
UnicodeでないファイルをUnicode保存
このQ&Aのポイント
ExcelVBAで非Unicode形式のファイルを読み、Unicodeで別ファイルに書き出す方法とは?
ExcelVBAでワードパッドなどを制御し、自動的にファイルを開いてUnicodeで保存する方法を教えてください。
VBAを使用してファイルの文字コードを調べる方法を教えてください。
いつも楽しく勉強させていただいております。環境はWin7Office2010です。
ExcelVBAからFSOを用いてCSV形式のファイルを読み込み、多少の加工をして最終的にはSQLServerに取り込むという作業をしています。
問題はCSVファイルのことなのですが、どうやらUnicodeでないようでFSOで開くと文字化けしてしまうものがあります。
Excelやワードパッドで開くとちゃんと読めます。
StrConv関数でUnicodeに変換しようとしたのになぜかできませんでした。
今回はファイル数が少なかったので、手作業でワードパッドで開き、保存の形式をUnicodeにして事なきを得ましたが、今後同様のファイルを多数処理しないといけないので手作業での変換は難しいです。
そこで、こんなことは可能でしょうか。
・ExcelVBAで非Unicode形式のファイルを読み、Unicodeで別ファイルに書き出す。
または、
・ExcelVBAでワードパッドなどを制御し、自動的にファイルを開いてUnicodeで保存しなおす。
ついでといっては何ですが、そのファイルの文字コードが何であるかはどうやって分かりますか。
できればVBAを介して調べる方法があれば教えてくださるとうれしいです。
お礼
回答ありがとうございます。一番上のURLを参考にプログラムを走らせてみましたが、私を困らせているファイルはutf-8であることが判明しました。 その次のURLですが、出力のサンプルですね。その前に入力で困っているのでちょっと・・・と思いましたが、ADODB.Streamというのをキーワードにこちらのページのコードを参考にしたところ、ちゃんときれいに読めました。感激です。ADODB.Streamというのは初めて使いました。 http://d.hatena.ne.jp/niemands/20090316/1237225383 ところで悲しいことに最後のURLに書いてあることがよくわかりません。エンコードのプログラムなのでしょうか。