V-Форум / Corel VBA / Тема: CorelDRAW , макрос

CorelDRAW , макрос

 04/02/2008 10:24:55 #Link

GoodvinVV

Всем приветики.
Хотел написать Макрос , который бы обрабатывал только те объекты, которые выбраны пользователем и в том же порядке.

1. Есть открытый документ CorelDraw с кучей разных объектов.
2. Пользователь выделяет (selection) объекты нажимает кнопку "запомнить".
3. Выделенному (selection) присваевается порядковый номер(?) заноситься в список или массив(?) или.....
4. Потом согласно сформированого списка выпоняется обработка selections.

ps: есть форма, две кнопки ("запомнить", "обработать" и ListBox.
Кто силен помогите, или подскажите

есть подобный макрос (SelectionManager) по сохранению селекций, но как автор реализовал непонятно

Re: CorelDRAW , макрос

 04/02/2008 10:52:25 #Link

Sancho

А не проще просто сразу обработать выделенное???
Используйте ActiveSelectionRange

Re: CorelDRAW , макрос

 04/02/2008 11:01:14 #Link

GoodvinVV

ну по конкретнее наверно только так...
Как присвоить селектированой шапе порядковый номер так , чтобы потом можно было по этому номеру найти ее.

Dim mySelection As ShapeRange
Set mySelection = ActiveSelectionRange
mySelection.???????????????????????????????????????
????????????????????????????????????????????

Re: CorelDRAW , макрос

 04/02/2008 11:05:35 #Link

GoodvinVV

так то оно проще но вся вишка в том что пользователю проще создать "список(и)" позиций а потом согласно др условиям обработать их в порядке выбора

Re: CorelDRAW , макрос

 04/02/2008 12:03:35 #Link

Sancho

Dim mySelection As ShapeRange, s As Shape
Set mySelection = ActiveSelectionRange
For Each s In mySelection
s. .....
Next s

А в список запоминать эт писать надо. Есть желание оплатить - напишу. Но я вас уверяю проще просто обработать ActiveSelectionRange, написать таким образом что: Выделаяем какие надо объекты, запускаем макрос, Он нас через комбоБокс спрашивает какой набор действий совершить. Указываем и ОК. Перед обработкой можно запомнить активное выделение в отдельный ранж, а затем после обработки выделить этот ранж.

Re: CorelDRAW , макрос

 04/02/2008 13:37:11 #Link

GoodvinVV

Ваше желание заработать понятно..........
и все же
"Перед обработкой можно запомнить активное выделение в отдельный ранж, а затем после обработки выделить этот ранж." Если не сильно отвлеку, но как это сделать? (я с VBA только пару дней )

Re: CorelDRAW , макрос

 04/02/2008 13:58:58 #Link

Sancho

Извиняйте, у меня времени тоже в обрез...

Dim mySelection As ShapeRange, s As Shape
Dim sr As New ShapeRange
Set sr = ActiveSelectionRange
Set mySelection = ActiveSelectionRange

For Each s In mySelection
s. обработка шейпа.
Next s
ActiveDocument.ClearSelection
sr.CreateSelection

Re: CorelDRAW , макрос

 04/02/2008 14:21:29 #Link

GoodvinVV

спасибо

Есть ли у Вас макрос "SelectionManager"?

Re: CorelDRAW , макрос

 04/02/2008 14:29:29 #Link

Sancho

нету

Re: CorelDRAW , макрос

 04/02/2008 14:45:55 #Link

GoodvinVV

могу кинуть в почту или еще куда нить
(1) 2 3 »

Источник: https://powerclip.ru/modules/newbb/viewtopic.php?topic_id=7154&start=0

Rambler's Top100