[CDR 2017-2021] как програмно отловить ошибку 91 - при создании контура

Nezar

Участник
Топикстартер
Сообщения
158
Реакции
3
иногда, если шейп очень маленький, и я пытаюсь сделать внутренний контур - выскакивает ошибка 91.
причина ясна - контур не помещается внутри шейпа.
как можно отловить эту ошибку - и ели возникает именно она - выполнить определенные действия?

Set eff1 = s.CreateContour(0, rfrezPopolam - 0.01, 1, , , CreateCMYKColor(0, 100, 0, 0), , 0, 0, 1, 2)
ActiveDocument.CreateSelection s, s.Effects.ContourEffect.Contour.ContourGroup ----------- тут ошибка

Спасибо
 

Nezar

Участник
Топикстартер
Сообщения
158
Реакции
3
сделал через On Error GoTo
но все равно както коряво получилось, но вроде работает
ErrorHandler:

Select Case Err.Number
Case 91
s.Delete
Case Else
End Select
Resume Next
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Вцелом подход правильный, но вы уверенны, что ошибка будет обязательно 91? Попробуйте внутренний контур делать не через контур (каломбур!) а через обводку
 

Nezar

Участник
Топикстартер
Сообщения
158
Реакции
3
если контур маленький - то 91, пока другая не попадалась.
обводка не подходит, т.к. я мотом с контуром как с шейпом работаю.
 

Nezar

Участник
Топикстартер
Сообщения
158
Реакции
3
Но ведь есть же еще, как это грустно звучит, метод Outline.ConvertToObject
супер. даже не знал.
но все равно не особо подгодит, т.к. естественно получается шейп с дыркой. в принципе можно потом объединять с исходным.
надо пробовать.
Спасибо за метод!
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851