Я пытаюсь получить ленивые оценки с «А» в моем макросе Excel, выполнив следующие действия:AndAlso/OrElse в VBA
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, не имеет оценки короткого замыкания –
Спасибо, я решил свою проблему без решения этого вопроса, но мне все еще любопытно, что делать в этой ситуации. Я не удивлюсь, если я упустил что-то действительно очевидное, но я не могу найти хороший способ сделать это без перезаписи кода, т. Е. Иметь тот же код в двух разных случаях. – Luis