if a = b then
msgbox "equal"
end if
a,b是引用两个不同对象的变量,我怎么得到始终是equal啊
3 个解决方案
#1
用varptr(),對象則用objprt()
#2
Is 运算符
用来比较两个对象的引用变量。
语法
result = object1 Is object2
Is 运算符的语法具有以下几个部分:
部分 描述
result 必需的;任何数值变量。
object1 必需的;任何对象名称。
object2 必需的;任何对象名称。
说明
如果 object1 和 object2 两者引用相同的对象,则 result 为 True;否则,result 为 False。有很多方法使两个变量引用相同的对象。
在以下示例中,A 和 B 已被设置成与 C 引用相同的对象:
Set A = B
在下例中,A 和 B 引用的对象与 C 相同:
Set A = C
Set B = C
用来比较两个对象的引用变量。
语法
result = object1 Is object2
Is 运算符的语法具有以下几个部分:
部分 描述
result 必需的;任何数值变量。
object1 必需的;任何对象名称。
object2 必需的;任何对象名称。
说明
如果 object1 和 object2 两者引用相同的对象,则 result 为 True;否则,result 为 False。有很多方法使两个变量引用相同的对象。
在以下示例中,A 和 B 已被设置成与 C 引用相同的对象:
Set A = B
在下例中,A 和 B 引用的对象与 C 相同:
Set A = C
Set B = C
#3
If ObjPtr(a) = ObjPtr(b) Then MsgBox "equal"
#1
用varptr(),對象則用objprt()
#2
Is 运算符
用来比较两个对象的引用变量。
语法
result = object1 Is object2
Is 运算符的语法具有以下几个部分:
部分 描述
result 必需的;任何数值变量。
object1 必需的;任何对象名称。
object2 必需的;任何对象名称。
说明
如果 object1 和 object2 两者引用相同的对象,则 result 为 True;否则,result 为 False。有很多方法使两个变量引用相同的对象。
在以下示例中,A 和 B 已被设置成与 C 引用相同的对象:
Set A = B
在下例中,A 和 B 引用的对象与 C 相同:
Set A = C
Set B = C
用来比较两个对象的引用变量。
语法
result = object1 Is object2
Is 运算符的语法具有以下几个部分:
部分 描述
result 必需的;任何数值变量。
object1 必需的;任何对象名称。
object2 必需的;任何对象名称。
说明
如果 object1 和 object2 两者引用相同的对象,则 result 为 True;否则,result 为 False。有很多方法使两个变量引用相同的对象。
在以下示例中,A 和 B 已被设置成与 C 引用相同的对象:
Set A = B
在下例中,A 和 B 引用的对象与 C 相同:
Set A = C
Set B = C
#3
If ObjPtr(a) = ObjPtr(b) Then MsgBox "equal"