プロが教える店舗&オフィスのセキュリティ対策術

VBAの初心者です。
皆様のお力をお借りしたい次第です。

今私はデスクトップに保存したcsvファイルをUTFに変換し、
windowsメールでアドレスのインポートをしようとしていますが、
csvファイル自体をUTFに変換すると文字化けをしてしまうため、
メモ帳でUTFに変換→csv保存をしたいと思っております。
メモ帳をExcelから命令するにはどうしたらいいでしょうか?

以下はUTFに変換する際に使用させてもらったものです。

Dim JIS, UTF
Set JIS = CreateObject("ADODB.Stream")
JIS.Open
JIS.Type = 2
JIS.Charset = "shift_jis"
JIS.LoadFromFile "C:\~\JIS.csv"
Set UTF = CreateObject("ADODB.Stream")
UTF.Open
UTF.Type = 2
UTF.Charset = "utf-8"
JIS.CopyTo UTF
UTF.SaveToFile "C:\~\UTF.csv", 2
JIS.Close
Set JIS = Nothing
UTF.Close
Set UTF = Nothing

A 回答 (2件)

こんばんは。



>csvファイル自体をUTFに変換すると文字化けをしてしまうため、

コードをチェックしてみましたが、JISからUTF-8に変更されています。コードは少し雑ですが、別に、文字化けするようなことはありません。

何をもって文字化けをチェックされたのでしょうか?メモ帳(Notepad.exe)でも、正しく、UTF-8 と認識されています。

>メモ帳をExcelから命令するにはどうしたらいいでしょうか?

確かに、Notepad.exe に、張り付けて、UTF-8モードで保存すれば、変換は可能だけれども、そうすると、保存するときに、UTF-8モードを操作しないといけないような気がしますが、VBAからでは、逆に面倒な操作が必要で、もう一般マクロの範囲は超えていると思います。

もう一度、変換されているか、チェックしてみたらいかがですか?

この回答への補足

>コードをチェックしてみましたが、JISからUTF-8に変更されています。コードは少し雑ですが、別に、文字化けするようなことはありません。

何をもって文字化けをチェックされたのでしょうか?メモ帳(Notepad.exe)でも、正しく、UTF-8 と認識されています。

再度確認してみます。

補足日時:2009/11/27 11:40
    • good
    • 0

これってVBAでやらないといけないのでしょうか?


Windows標準搭載のメモ帳(notepad.exe)以外のテキストエディタなら、普通に文字コードを指定して保存できます。
文字コード変えるだけなら、TeraPad辺りが一番簡単でしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!