Для пользовательского объекта я хочу проверить два условия. Во-первых, является ли объект ничем. Если это так, введите блок. Если объект не ничто, я хочу проверить одно из свойств объекта и войти в блок только в том случае, если он пройдет этот тест.
Таким образом, утверждение было бы сродни:
If myObject Is Nothing Or myObject.myInt > x Then
'Perform my task
End If
Если myObject на самом деле ничто, это выдает ошибку, поскольку при проверке второго условия он пытается получить доступ к свойству объекта, которого там нет.
Большинство языков, с которыми я работал в прошлом, не стали бы проверять второе условие оператора Or, если бы первое условие было истинным, поэтому вы могли бы написать строку выше. VBA, похоже, не позволяет этого. Есть ли какой-либо эквивалентный способ написать это утверждение, не прибегая к:
If myObject Is Nothing Then
'Perform my task
ElseIf myObject.myInt > x Then
'Perform my task
End If
?
ОТРЕДАКТИРОВАНО ДЛЯ ЯСНОСТИ