• ベストアンサー

ExcelVBA バイナリファイルの全半角の判断

Excel VBAでテキストファイルを、バイナリファイルとして読込み シートに出力しようとしています。 しかしテキストファイルには全角半角が混ざっており、うまく出力できません。 Dim buf As Byte 上記の変数に読込んだバイナリデータ1バイト分を入れるとして、 これが半角文字なのか、全角文字の半分なのか、判断することはできるのでしょうか。

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

  • ベストアンサー
  • weboner
  • ベストアンサー率45% (111/244)
回答No.1

なぜテキストファイルをわざわざバイナリで読み込む必要があるのか? は置いておいて 文字のエンコードに拠って対応は変わります 日本語 (シフト JIS) の場合は80~9Fに続く2バイトは全角、E0~に続く2バイトは全角 その他のコードの場合は3バイト表記とかもあるので、エンコードが何かに拠って判断基準が異なる 文字コード表 http://charset.uic.jp/show/eucjp-ms/

n_i_g
質問者

お礼

テキストファイルにバイナリデータが混ざっており、テキストファイルとして読込むと途中でEOFと判定されるデータが来るため、全行出力ができない状態でした… ご回答いただいた文字コードで判定して文字に変換して…とやったら無事に全行出力することができました!! ありがとうございます、助かりました!

関連するQ&A