電子書籍の厳選無料作品が豊富!

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

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

Dim buf As Byte

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

A 回答 (1件)

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


は置いておいて

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

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

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

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

お礼日時:2014/12/26 22:43

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