gpt4 book ai didi

vb.net - VBA 中的 AndAlso/OrElse

转载 作者:行者123 更新时间:2023-12-03 07:03:42 24 4
gpt4 key购买 nike

我试图通过执行以下操作在 Excel 宏中使用“And”进行惰性求值:

If Not myObject Is Nothing *And* myObject.test() Then
'do something'
Else
'do something else'
End If

我知道 VB.NET 中存在延迟计算,如 AndAlsoOrElse,但在 VBA 中找不到类似的内容。如果 VBA 中不存在惰性求值,那么构建代码以使其按照我期望的方式求值的最佳方法是什么?

最佳答案

唯一的短路(某种)是在 Case 表达式求值内,因此以下笨拙的语句满足了我认为您所要求的目的;

Select Case True
Case (myObject Is Nothing), Not myObject.test()
MsgBox "no instance or test == false"
Case Else
MsgBox "got instance & test == true"
End Select
End Sub

关于vb.net - VBA 中的 AndAlso/OrElse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3242560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com