Проверка существования объекта и переменной
Давид / 05.12.2012, 18:21
Форум:
В макросе есть ссылка на картинку в CorelDraw. Картинку удалили вручную, а макрос этого не знает и
при попытке удалить эту картинку программно выдает ошибку.
Вопрос: Как в макросе проверить,, есть ли объект, по сохранившейся ссылке.
Вот код, проверяет ActiveSelectionRange, если его нет делает выход.
Дорогой Sancho, спасибо за ответ! Однако в конкретном случае не получается.
Макрос TestFirst строит окружность (см. ниже).
Макрос TestSecond стирает построенную и строит новую большего размера.
При повторном запуске стирает построенную и строит новую меньшего размера.
Далее все будет повторяться.
Но если перед запуском TestSecond удалить окружность средствами corelDraw,
возникает ошибка "The referensed object no longer exists".
Хотелосъ бы обойти удаление окржности sss.Delete,, узнав заранее ,
что the referensed object no longer exists!
-------------------------------------------------------------------------
Public sss As Shape
Public xxx As Double
-------------------------------------------------------------------------
Sub TestFirst()
Set sss = ActiveDocument.ActiveLayer.CreateEllipse(0#, 0#, 100#, 100#)
End Sub
-------------------------------------------------------------------------
Sub TestSecond()
sss.Delete
If xxx = 100# Then xxx = 200# Else xxx = 100#
Set sss = ActiveDocument.ActiveLayer.CreateEllipse(0#, 0#, xxx, xxx)
End Sub
---------------------------------------------------------------------
После sss.Delete юзай
Тогда проверка Is Nothing должна сработать.