【发布时间】:2011-03-15 15:04:24
【问题描述】:
我正在尝试通过执行以下操作在我的 Excel 宏中使用“和”进行惰性求值:
If Not myObject Is Nothing *And* myObject.test() Then
'do something'
Else
'do something else'
End If
我知道 VB.NET 中存在延迟评估,如 AndAlso 和 OrElse,但在 VBA 中找不到类似的东西。如果 VBA 中不存在惰性求值,那么构建代码以使其按我期望的方式求值的最佳方法是什么?
【问题讨论】:
-
VBA 像普通的 VB6 一样没有短路评估
-
谢谢,我在没有解决方案的情况下解决了我的问题,但我仍然很好奇如何应对这种情况。如果我遗漏了一些非常明显的东西,我不会感到惊讶,但是如果不重写代码,我就找不到一个好方法来做到这一点,即在两种不同的 else 情况下使用相同的代码。