Ссылка в коллекции на удалённый объект...

Статус
Закрыто для дальнейших ответов.

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Каким образом проверить, существует ли объект, на который ссылается n-й элемент коллекции ?
Объект, на который ссылается n-й элемент коллекции, удаляется пользователем в интерактивном режиме.

Конкретная ситуация:
Методом ShapeRange.Add запихиваю все найденные объекты в глобальный findedShRange As New ShapeRange. Далее пользователь, скажем, удаляет один из таких объектов.
Каким образом определить, что i-й Shape был удалён, т.е. findedShRange(i) не существует ?
При обращении к некоторым свойствам и при вызове некоторых методов findedShRange(i) или findedShRange.Item(i) макрос просто слетает. Логично, поскольку объекта не существует. Но в то же время функция IsEmpty для удалённых объектов возвращает не True, а False, как будто объект существует...

В качестве альтернативы можно использовать обработку ошибок:
Код:
On Error GoTo DelMsg
    findedShRange(findedShIndex).Selected = True
On Error GoTo 0
...
DelMsg: MsgBox <...>
End Sub
 
Статус
Закрыто для дальнейших ответов.