Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


51245 / 76732 ←次へ | 前へ→

【30359】Re:Byte型について 参加
発言  ichinose  - 05/10/25(火) 19:23 -

引用なし
パスワード
   ▼わさび さん:
こんばんは。
>>ファイル内で0201Hの2バイトは、Integer型の変数に読み込まれると、
>>Integer型の内部では0102hとして格納されます。
>>
>>よって、16進数で0102は、10進数の258ですから、そう表示されるのですが・・。
>>
>>バイナリーファイルというのは、設計によっては、0201Hに意味がある場合も
>>ありますから、Integer型で読み込むというのは、特殊な場合に限りますよ!!
>
>Byte型は16進数、Integer型は10進数…
この表現・・・、まだ違います。
VBAでは、Byte型でもInteger型でも
16進表記、10進表記のいずれも可能です。
そもそも
>Byte型は16進数、Integer型は10進数…
こういう区別の仕方をしてはいけません。
これは、表記の仕方の違いです。


私の説明にも問題があったかもしれません・・・、反省。

VBAがこういうデータ型の問題がわかりずらいのは、
簡単に型変換してくれることも理由のひとつだと思っているのですが・・。

話がちょっとずれますが例えば、

dim aa as integer
dim bb as string
aa=5
bb="text" & aa

これもaaを型変換してくれるのでエラーになりませんよね?

私がDOS時代に使っていたBASICでは、「型が違う」というエラーになりました。

VBAから、プログラミングを始めてあまり細かい意味は考えずに使っている間は
便利なんですが、あるとき不思議に感じはじめるとやっかいですよね!!

今回の問題は、ファイルの中身が実際にどのようになっているのか?

なんてことは、VBAではあまり考えなくてもすんでいる方は
沢山いらっしゃると思います。
(私もVBAを始めてからはそうです)

再度、似たような投稿があったときには
もう少しわかりやすい説明ができるように
したいと思いますが、Byte型はある程度
決まった使用方法だけ(今回のバイナリファイルのデータ取得での使用方法等)
押さえておいてください。

2 hits

【30205】このコードは高速化可能か ken 05/10/21(金) 16:34 質問
【30207】Re:このコードは高速化可能か 角田 05/10/21(金) 17:42 回答
【30208】Re:このコードは高速化可能か ken 05/10/21(金) 18:23 質問
【30209】Re:このコードは高速化可能か 角田 05/10/21(金) 18:50 回答
【30210】Re:このコードは高速化可能か ken 05/10/21(金) 19:02 お礼
【30254】Byte型について わさび 05/10/24(月) 8:34 質問
【30280】Re:Byte型について 小僧 05/10/24(月) 13:15 発言
【30293】Re:Byte型について でれすけ 05/10/24(月) 16:48 発言
【30299】Re:Byte型について わさび 05/10/24(月) 18:44 質問
【30301】Re:Byte型について 参加 ichinose 05/10/24(月) 19:49 発言
【30355】Re:Byte型について 参加 わさび 05/10/25(火) 18:24 お礼
【30359】Re:Byte型について 参加 ichinose 05/10/25(火) 19:23 発言
【30368】Re:Byte型について 参加 わさび 05/10/26(水) 8:30 お礼
【30314】Re:Byte型について でれすけ 05/10/25(火) 9:45 発言
【30358】Re:Byte型について わさび 05/10/25(火) 19:04 お礼

51245 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free