VBA :Ошибка при использовании Or (В операторе If -Then )первое условие проверяет, является ли объект ничем

Для пользовательского объекта я хочу проверить два условия. Во-первых, является ли объект ничем. Если это так, введите блок. Если объект не ничто, я хочу проверить одно из свойств объекта и войти в блок только в том случае, если он пройдет этот тест.

Таким образом, утверждение было бы сродни:

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

?

ОТРЕДАКТИРОВАНО ДЛЯ ЯСНОСТИ

0
задан reuben 5 July 2012 в 04:13
поделиться