Render.ru

Сбой Макроса CorelDraw

_AR_

Активный участник
Рейтинг
5
#1
Уважаемые спецы, подскажите пжалста что в этом макросе не так,
я применяю его для подготовки группы фигур к плоттерной резке.
Глюк в следующем:
Когда макрос расположит группу объектов на листе маркеры выделения не квадратные, а круглые. И при попытке выделить её прога кричит благим матом и закрывает файл. Но, правда он впоследствии, открывается без проблем и так до следующей попытки выделить эту группу.

Вот макрос собственно:

Sub Ugol_90()
'
' Recorded 01.06.2006
'
' Description:
'
'
Dim OrigSelection As ShapeRange
Set OrigSelection = ActiveSelectionRange
OrigSelection.RotateEx 270#, 0#, 0#
OrigSelection.ApplyNoFill
OrigSelection.SetOutlineProperties 0.0001
Dim s1 As Shape
Set s1 = OrigSelection.Group
OrigSelection.Group.AlignToPageCenter cdrAlignHCenter + cdrAlignVCenter, cdrTextAlignBoundingBox
End Sub

Другие макросы работают безперебойно.
/Corel X3, XP SP2+update/AVP с разрешением на выполнение макросов.

Смеяться не нада я ещё чайник в VBA. :)
 

Kerch

Активный участник
Рейтинг
5
#2
Скорее всего спотыкается на сгруппированных объектах.
 

_AR_

Активный участник
Рейтинг
5
#3
Спасибо Kerch. С группировкой перемудрил.
Поменял последнюю строчкув макросе:

Sub Ugol_90()
Dim OrigSelection As ShapeRange
Set OrigSelection = ActiveSelectionRange
OrigSelection.RotateEx 270#, 0#, 0#
OrigSelection.ApplyNoFill
OrigSelection.SetOutlineProperties 0.0001
Dim s1 As Shape
Set s1 = OrigSelection.Group
s1.AlignToPageCenter cdrAlignHCenter + cdrAlignVCenter, cdrTextAlignBoundingBox
End Sub

после этого Corel глохнуть перестал, правда маркеры все ещё круглые :) .

Если кому интересно, применяю его после использования "МАКРОС ДЛЯ ОПТИМИЗАЦИИ ПУТИ РЕЗКИ", нашел в инете, в связи стем, что он оптимизирует иерархию объектов слева направо, а мне надо снизу вверх. Плоттер не гоняет пленку вперед назад, а режет по очереди потихоньку отматывая от бобины пленку.
 

Kerch

Активный участник
Рейтинг
5
#4
Дались тебе эти маркеры :)
Незнаю правда может я не совсем правильно понял что тебе надо но вот за 5 мин накидал:

Sub plot()
ActivePage.Shapes.All.Rotate 270
ActivePage.Shapes.All.ApplyNoFill
ActivePage.Shapes.All.SetOutlineProperties 0.0001
SendKeys "p", True
End Sub
 

_AR_

Активный участник
Рейтинг
5
#5
Шикарно. (p)-это же хот кей? Не знал як это прописывается.
 

Kerch

Активный участник
Рейтинг
5
#6
Можно подвязывать на SendKeys в принципе любые фразы. Потом просто макрос садится на хоткей и вуаля!
 
Сверху