V-Форум / Corel VBA / Тема: Удоление определенных объектов не разбивая групп

Удоление определенных объектов не разбивая групп

 30/03/2011 6:44:49 #Link

ManYacK

Возникла такая задача.
Есть пачка практически одинаковых групп (штрихкоды).

Каждый штрих-код сгруппирован и включает в себя 26 черных кривых и 1 белый фон. Таких групп около тысячи.

Задача: Удалить из каждой группы белый фон и/или поменять палитру для черных объектов.

Предполагаемый метод решения задачи:
1) Выбрать объекты по образцу не нарушая группировки.
2) удалить ВСЕ объекты под курсором, опять-же не нарушая группировки.

Пока что все приходится делать в ручную... либо разгруппировывать всю стопку штрих-кодов, удалять все белые фоны автоматически, а потом в ручную, в окне работы с объектами группировать оставшиеся элементы, пытаясь не промахнуться и не захватить лишнюю кривую в группу.

Либо, более быстрая, но не менее нудная процедура.
1. CRTL+клик на белый фон в пачке групп.
2. DELETE
3. Go-TO 1

в общем пальцы устают быстро. А так как проделывать эту процедуру приходится часто, есть потребность в автоматизации процесса.

Может кто может подсказать скрипт, который справится с данной задачей?

Re: Удоление определенных объектов не разбивая групп

 30/03/2011 8:08:55 #Link

mashur

вообще можна самому макрос написать с последотельными движениями. он запомнит процес и будет применять это ко все подобным объектам.
как создать макрос увы не подскажу. нужно гуглить)))

Re: Удоление определенных объектов не разбивая групп

 30/03/2011 8:31:50 #Link

Sancho

На будущее: есть макрос CardGenerator. Он позволяет создавать огромное кол-во штрихкодов за раз, при этом удалять белый фон, а так же конвертировать чёрные полоски в C:0 M:0 Y:0 K:100, ну и многое другое.

Re: Удоление определенных объектов не разбивая групп

 30/03/2011 8:47:41 #Link

wOxxOm

можно использовать встроенную функцию поиска и/или замены объектов Edit->Find/replace для перекраски либо для выделения всех объектов, в точности равных выделенному (например, белому квадрату фона).

Также можно использовать макрос ColorReplacer для перекраски.

Re: Удоление определенных объектов не разбивая групп

 30/03/2011 9:05:16 #Link

ManYacK

у меня немного другая методика создания штрих-кодов.
Прога создает пачку штрихкодов - мне остается только смонтировать их.

Re: Удоление определенных объектов не разбивая групп

 30/03/2011 9:09:43 #Link

ManYacK

записывать своя действия в макрос не трудно. от что получилось:

Sub Macro1()
'
' Recorded 30.03.2011
'
' Description:
'
'
ActiveDocument.MasterPage.DesktopLayer.Shapes(270).Shapes(15).Delete
ActiveDocument.MasterPage.DesktopLayer.Shapes(271).Shapes(15).Delete
ActiveDocument.MasterPage.DesktopLayer.Shapes(272).Shapes(15).Delete
ActiveDocument.MasterPage.DesktopLayer.Shapes(273).Shapes(15).Delete
ActiveDocument.MasterPage.DesktopLayer.Shapes(274).Shapes(15).Delete
End Sub

к сожалению Шайпсы все пронумерованы. Кто может подсказать, как обучить макрос брать не определенный шэйпс, а просто "следующий"?

Re: Удоление определенных объектов не разбивая групп

 30/03/2011 9:16:56 #Link

ManYacK

Небольшая автоматизация прошла.

В Экселе пронумировал Шэйпы и по 500 штук отправлял в скрипт

Re: Удоление определенных объектов не разбивая групп

 30/03/2011 10:38:40 #Link

Zmeter

Цитата:
ManYacK пишет:
Может кто может подсказать скрипт, который справится с данной задачей?

Jeff's Select Same определённо, без проблем, без заморочек с кодингом, с лёгкостью справится с подобной задачей

Re: Удоление определенных объектов не разбивая групп

 30/03/2011 12:29:03 #Link

ManYacK

Zmeter

О! то что нужно. Выбирает объекты не снивая группировку

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

Rambler's Top100