プロが教えるわが家の防犯対策術!

VBAでテキストを書き出す時に、たとえば、
shift_jisなど、文字コードを指定して書き出すには
どうすればいいのでしょう?

unicodeはFSOを使えばいいことはわかったのですが…。

A 回答 (2件)

FSOを使って書き出す場合、規定値はシフトJISです。



一般的な、文字コードの変換は難しいので、
何もかもやろうとするのではなくて、
いったん出力したものを、NKFとか別のツールを使って変換する(プログラムの呼出はできたと思いますが)のはどうでしょうか
NKFとかのDLLをVBAから使うという手もあるとも思いますが、できるかどうかはわかりません。
    • good
    • 0
この回答へのお礼

ありがとうございます^^。

NKF32.DLLを使用する方法なら、
見つけることができました。
VBの例ですが・・・。

NKF32.DLL で文字コード変換
http://www.geocities.co.jp/SilkRoad/4511/vb/nkf3 …

#2さんの紹介のツールも参考にして、
いろいろチャレンジしたいと思います。

お礼日時:2004/11/05 22:39

VBAでは文字コード変換の機能や、文字コードを指定してファイルへ書きだしの固有の機能・関数等はありません。


従って自分でそう言うルーチンを用意しなければなりませんが
(A)ロジカルな入出力の都度変換して書き出す(変数レベル)。
(B)一旦既定の文字コードで書き出し(ファイルレベル)、その後ファイル全体を対象に、指定した文字コードにファイル変換する(バッチ的処理)。
オフコン以上だと、文字コードの変換は、メーカー提供のユティリティプログラムがあって、それでファイル単位で行うのが普通ですが、パソコンでは自分で用意しないといけない。
変換プログラムは自作は結構複雑で難しく、バグがあると影響も大きい。
従って(A)タイプの関数か(B)タイプのレディメイドのソフトを探して利用せざるを得ないと思います。
VECTORなどに
http://www.vector.co.jp/soft/win95/prog/se274599 …
http://computers.yahoo.co.jp/bin/v_searchf?p=JIS …
(使ったわけではないが、)紹介があります。
    • good
    • 0
この回答へのお礼

ありがとうございます^^。

紹介してくださった、ツールを使用して、
いろいろやってみます!

お礼日時:2004/11/05 22:40

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