位元組

Dim Value As Byte

位元組是無符號 8 位資料型別。它可以表示 0 到 255 之間的整數,並且嘗試儲存該範圍之外的值將導致執行時錯誤 6:Overflow 。位元組是 VBA 中唯一可用的內部無符號型別。

轉換為位元組的轉換函式是 CByte() 。對於浮點型別的強制型別轉換,結果將四捨五入為最接近的整數值,並且 .5 向上舍入。

位元組陣列和字串

字串和位元組陣列可以通過簡單的賦值相互替換(不需要轉換函式)。

例如:

Sub ByteToStringAndBack()

Dim str As String
str = "Hello, World!"

Dim byt() As Byte
byt = str

Debug.Print byt(0)  ' 72

Dim str2 As String
str2 = byt

Debug.Print str2    ' Hello, World!

End Sub

為了能夠編碼 Unicode 字元,字串中的每個字元佔用陣列中的兩個位元組,首先是最低有效位元組。例如:

Sub UnicodeExample()

Dim str As String
str = ChrW(&H2123) & "."  ' Versicle character and a dot

Dim byt() As Byte
byt = str

Debug.Print byt(0), byt(1), byt(2), byt(3)  ' Prints: 35,33,46,0

End Sub