连接运算符
VBA 支持 2 个不同的连接运算符+
和 &
,当与 String
类型一起使用时,它们都执行完全相同的功能 - 右手 String
附加到左手 String
的末尾。
如果 &
运算符与 String
之外的变量类型一起使用,则在连接之前将其隐式地转换为 String
。
请注意,+
连接运算符是+
加法运算符的重载。+
的行为由操作数的变量类型和运算符类型的优先级决定。如果两个操作数都被输入为 String
或 Variant
,子类型为 String
,则将它们连接起来:
Public Sub Example()
Dim left As String
Dim right As String
left = "5"
right = "5"
Debug.Print left + right 'Prints "55"
End Sub
如果任一方是数字类型而另一方是可以强制转换为数字的 String
,则数学运算符的类型优先级会导致运算符被视为加法运算符并添加数值:
Public Sub Example()
Dim left As Variant
Dim right As String
left = 5
right = "5"
Debug.Print left + right 'Prints 10
End Sub
此行为可能导致细微的,难以调试的错误 - 尤其是在使用 Variant
类型时,因此通常只应使用 &
运算符进行连接。