タイトル | : Re: 受信したバイトデータ |
記事No | : 15169 |
投稿日 | : 2011/04/23(Sat) 03:53 |
投稿者 | : Koz |
> vBuf(0)=0x30 > vBuf(1)=0x31 > vBuf(2)=0x41 > vBuf(3)=0x38 > これを0x01A8にしたいのです。
バイト型の配列なら
Dim vBuf(3) As Byte vBuf(0) = &H30 vBuf(1) = &H31 vBuf(2) = &H41 vBuf(3) = &H38 Debug.Print StrConv(vBuf, vbUnicode) 結果:"01A8"
な感じで文字列に出来ます。
MidB でこんな感じで切り出すことも出来ます。
Debug.Print StrConv(MidB(vBuf, 2, 2), vbUnicode) 結果:"1A"
あとは、"&H" を先頭に付加し、CInt などの関数で数値に変換します。
Debug.Print CInt("&H" & StrConv(vBuf, vbUnicode)) 結果:424
0x8000 より大きい場合は負の数になるので、正の数として扱う場合は
Debug.Print CLng("&HFFFF") 結果:65535
とします。
|