こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

Excel VBAでテキストファイルを、バイナリファイルとして読込み
シートに出力しようとしています。

しかしテキストファイルには全角半角が混ざっており、うまく出力できません。

Dim buf As Byte

上記の変数に読込んだバイナリデータ1バイト分を入れるとして、
これが半角文字なのか、全角文字の半分なのか、判断することはできるのでしょうか。

投稿日時 - 2014-12-24 21:41:12

QNo.8869340

困ってます

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

なぜテキストファイルをわざわざバイナリで読み込む必要があるのか?
は置いておいて

文字のエンコードに拠って対応は変わります
日本語 (シフト JIS) の場合は80~9Fに続く2バイトは全角、E0~に続く2バイトは全角

その他のコードの場合は3バイト表記とかもあるので、エンコードが何かに拠って判断基準が異なる
文字コード表
http://charset.uic.jp/show/eucjp-ms/

投稿日時 - 2014-12-24 23:29:36

お礼

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

ありがとうございます、助かりました!

投稿日時 - 2014-12-26 22:43:27

ANo.1

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問