VBA 布尔型

示例

Dim Value As Boolean

布尔用于存储可以表示为True或False的值。在内部,数据类型存储为16位值,其中0表示False,其他任何值表示True。

应当注意,将布尔值强制转换为数字类型时,所有位均设置为1。这将导致内部类型为-1(带符号类型),最大值为无符号类型(字节)。

Dim Example As Boolean
Example = True
Debug.Print CInt(Example)  'Prints -1
Debug.Print CBool(42)      'Prints True
Debug.Print CByte(True)    'Prints 255

转换为布尔值的转换函数为CBool()。即使内部将其表示为16位数字,也可以从该范围外的值强制转换为布尔值,即使将所有16位都设置为1:

Dim Example As Boolean
Example = CBool(2 ^ 17)
Debug.Print CInt(Example)   'Prints -1
Debug.Print CByte(Example)  'Prints 255