CorelDRAW , макрос
04/02/2008 10:24:55
#Link
Всем приветики.
Хотел написать Макрос , который бы обрабатывал только те объекты, которые выбраны пользователем и в том же порядке.
1. Есть открытый документ CorelDraw с кучей разных объектов.
2. Пользователь выделяет (selection) объекты нажимает кнопку "запомнить".
3. Выделенному (selection) присваевается порядковый номер(?) заноситься в список или массив(?) или.....
4. Потом согласно сформированого списка выпоняется обработка selections.
ps: есть форма, две кнопки ("запомнить", "обработать"
и ListBox.
Кто силен помогите, или подскажите
есть подобный макрос (SelectionManager) по сохранению селекций, но как автор реализовал непонятно
Re: CorelDRAW , макрос
04/02/2008 10:52:25
#Link
А не проще просто сразу обработать выделенное???
Используйте ActiveSelectionRange
Re: CorelDRAW , макрос
04/02/2008 11:01:14
#Link
ну по конкретнее наверно только так...
Как присвоить селектированой шапе порядковый номер так , чтобы потом можно было по этому номеру найти ее.
Dim mySelection As ShapeRange
Set mySelection = ActiveSelectionRange
mySelection.???????????????????????????????????????
????????????????????????????????????????????
Re: CorelDRAW , макрос
04/02/2008 11:05:35
#Link
так то оно проще но вся вишка в том что пользователю проще создать "список(и)" позиций а потом согласно др условиям обработать их в порядке выбора
Re: CorelDRAW , макрос
04/02/2008 12:03:35
#Link
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
Ваше желание заработать понятно..........
и все же
"Перед обработкой можно запомнить активное выделение в отдельный ранж, а затем после обработки выделить этот ранж." Если не сильно отвлеку, но как это сделать? (я с VBA только пару дней
)
Re: CorelDRAW , макрос
04/02/2008 13:58:58
#Link
Извиняйте, у меня времени тоже в обрез...
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
спасибо
Есть ли у Вас макрос "SelectionManager"?
Re: CorelDRAW , макрос
04/02/2008 14:29:29
#Link
нету
Re: CorelDRAW , макрос
04/02/2008 14:45:55
#Link
могу кинуть в почту
или еще куда нить
Источник: https://powerclip.ru/modules/newbb/viewtopic.php?topic_id=7154&start=0