字节

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