位元組
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