• ベストアンサー

VBAでテキストを書き出す時に、文字コードを指定するには?

VBAでテキストを書き出す時に、たとえば、 shift_jisなど、文字コードを指定して書き出すには どうすればいいのでしょう? unicodeはFSOを使えばいいことはわかったのですが…。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

FSOを使って書き出す場合、規定値はシフトJISです。 一般的な、文字コードの変換は難しいので、 何もかもやろうとするのではなくて、 いったん出力したものを、NKFとか別のツールを使って変換する(プログラムの呼出はできたと思いますが)のはどうでしょうか NKFとかのDLLをVBAから使うという手もあるとも思いますが、できるかどうかはわかりません。

door_to_tomorrow
質問者

お礼

ありがとうございます^^。 NKF32.DLLを使用する方法なら、 見つけることができました。 VBの例ですが・・・。 NKF32.DLL で文字コード変換 http://www.geocities.co.jp/SilkRoad/4511/vb/nkf32dll.htm #2さんの紹介のツールも参考にして、 いろいろチャレンジしたいと思います。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

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

door_to_tomorrow
質問者

お礼

ありがとうございます^^。 紹介してくださった、ツールを使用して、 いろいろやってみます!

関連するQ&A

  • TeraPadの文字コード

    TeraPadの文字コードについて教えてください。 1. TeraPadで扱える文字コードは Shift-JIS、JIS、EUC、Unicode、UTF-8、UTF-8N の6種類あるようですが、このEUCとEUC-JPは 同じものですか? 2. Shift-JISで保存すると、TeraPadの下の部分に 表示される文字コードがSJISとなります。 これはShift-JISのことですか? 3. 短い文章では文字コードを誤認識する場合も あるようですが、どうしたら正しく認識 させられますか? 指定した文字コードで保存できず困っています。

  • Unicodeで編集できるテキストエディタってありますか?

    これまで「Unicode対応」を謳ったエディタの多くは 「Unicodeテキストの読み書きが出来る」エディタに過ぎませんでした。 つまりファイルを読み込むときにUnicode→シフトJISに変換し、編集は シフトJIS環境で行う……という。 保存も同様でシフトJIS→Unicode変換したのち保存します。 これだと確かにUnicodeテキストの読み書きは出来ますが、 Unicode最大に特徴であるJIS外文字のが入っているとシフトJIS変換時に 「?」になってしまいます。 編集もUnicode環境で行えて、Unicodeフォントを指定してやればJIS外文字も 表示できる、そんなフリーエディタってありませんか? 最近の「秀丸」で出来るようになったのは知ってるんですが……

  • 文字コード体系について

    WINDOWS95の文字コードはシフトJISのみに対応していたと思うのですが、 このときアメリカなど海外で販売されていた WIN95の文字コードは何だったのかご存じありませんか? WINDOWSxpの文字コードはシフトJISと、unicode対応してると思うのですが、 海外で販売されている物は unicodeのみに対応してるのでしょうか。 それとも他に特殊な文字コード体系を持っているのでしょうか。

  • Access VBA 文字コード

    こんにちは、 Access2003の勉強を始めてモノです。 コントロールウィザードで生成されるVBAコードで フォーム名などの文字列が、1文字ずつコードで表示されますが、 このコードというのは何になるのでしょうか? Shift-JISとか、EUCとかとは違うようなのですが。 何かお分かりの方がいましたら教えてください。よろしくお願いします。

  • Windowsの標準文字コードについて

    標準文字コードはシフトJISとされていますが、 例えば、windowsでメモ帳を使って文字を書いて、保存をした時。 保存する時の文字コードは自由に選択できますよね。 この時点だと、どこにシフトJISコードが使われているのかはサッパリ分かりません。 それで考えたのですが、 文章を保存する時では無く、 メモ帳に書いている時に使われている文字が、 シフトJISなのでしょうか?(その文字を16進数としてみた時にシフトJISの文字コードになっている) つまり、 もともと、windows上でwebページのフォームに文字を入力するとか、 メモ帳で文章を書くと、 シフトJISとして書いている事になるのでしょうか?(シフトJISコードに対応した16進数で書いている) それを、例えばメモ帳ならシフトJISコードを違うコードに変換して保存する機能が付いている ブラウザには、その機能は無いから、フォームからはシフトJISコードとしてのデータしか遅れない。 そう考えると、 windows上では入力する全ての文字がシフトJISコードという事になり、 標準文字コードがシフトJISという言葉にも納得がいくのですが、 上記の理解で正解なのでしょうか? よろしくお願いします。

  • UTF-8で5~6バイトになる文字コード

    UnicodeのUTF-8で5~6バイトになる文字コードは、どのような場合でしょうか。(サロゲートペアのコードでも4バイトです。シフトJISから変換するとき、どのようなコードが5~6バイトに割り当てられるのでしょうか。) ご存知の方おられましたら、ご教示ください。

  • unicodeについて教えてください

    最近、unicoldeというものがあることを知りました jisコードとかシフトjisコードにもない文字が随分登録されています。 この、jisコードとかシフトjisコードにもない、unicodeだけに登録されている文字一覧表みたいなものを作りたいと思っているのですが、どうすればよいのでしょうか。 また、jisコード等から文字一覧表は作成できますが、vba辺りから、このunicodeからの漢字一覧表を作成できるのでしょうか。  お分かりの方、是非教えてください。

  • 内部文字コードとは?

    javaは内部では文字をユニコードとして扱うとは、 どういう事でしょうか? 例えば、javaのブログラムをwindows上で作ったとして、 「こんにちわ」と出力させるプログラムを作ったとすると、 public class Hello{ public static void main(String[] args) { System.out.println("こんにちわ"); } } となりますよね、この時、このjavaのソースファイルを、 ユニコードとして保存して、コンパイル、実行しないと、 正常に動かないという事でしょうか? つまり、ソースをシフトJISで保存してJAVAでコンパイルをしようとすると、ソースコード中の文字をユニコードとして扱うため、 文字化けして、コンパイラは一体何の事か分からずエラーみたいな感じになるのでしょうか?(それとも自動で文字コードをユニコードに変換してくれるのかな?) 要するに、「内部文字コード」という言葉が何を指しているのかが分からないですが、よろしくお願いします。

  • リダイレクトする時の文字コードをUnicodeに

    現在、VisualStudioで、システムコールの標準出力結果をリダイレクトしてファイルに保存する プログラムを書いています。 _tsystem(command); のような感じで、commandには "hogehoge > hoge.txt"のように入ります。 ※command はTCHAR この出力結果が、Shift-Jisになっているようで、Shift-Jisだと日本語が文字化けせずに表示されるのですが、Unicode UTF-16にすると文字化けしてしまいます。 Unicode UTF-16とかUnicode UTF-8など文字コードを指定してリダイレクトできないのでしょうか。 ちょっと調べてみましたがうまく見つかりませんでした。

  • 保存する際の文字コードについて

    まったくの初心者です。 Windows上でエディタ等でVBScriptを書いた場合 保存する際の文字コードは シフトJIS(ANSI)、Unicode、EUC等のうち どれにすべきでしょうか。 どれでも問題ないでしょうか。

専門家に質問してみよう