Макрос CardGenerator (версия 4.4)

CardGenerator — макрос, который позволяет быстро и просто создавать нумерации, а так же импортировать и размещать переменные данные в файл CorelDRAW, будь то просто текст, картинки или штрих-коды! Не больше двух минут Вам понадобится, что бы создать 100 штрих-кодов, каждый из которых, имея свой уникальный номер, будет стоять на том месте, где Вам необходимо. И всё это не выходя из CorelDRAW!

Для чего можно использовать макрос CardGenerator:

  • Создание различных карточек и пропусков, где необходимо, в каждом экземпляре продукции, указать различные данные (ФИО, номер, штрих-код, фотография).
  • Создание как простых, так и сложных нумераций.
  • Любая другая печатная продукция, где необходимо наличие каких либо данных, меняющихся из одного экземпляра в другой.

Обработка, каких типов данных доступна макросу:

  • Штрих-коды (любого доступного в CorelDRAW типа, кроме FIM)
  • Текст
  • Изображения (Jpg)

Как это работает:

Небольшое видео в формате GIF.

Например, перед нами стоит задача сделать пропуска для 100 сотрудников некой компании. На каждом пропуске должны быть ФИО и штрих-код (уникальный у каждого сотрудника). Делать вручную 100 пропусков — не весёлая перспектива, не правда ли? Вопрос ещё обостряется тем, что заказчику это нужно сделать «вчера», а у Вас помимо этого ещё куча других не менее важных «вчерашних» дел.

Начнём с того, что необходимые данные, обычно, компания предоставляет сама в виде Excel таблицы в два столбика, плюс образец карты. Это всё, что нам необходимо, так что приступаем к выполнению.

Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)
Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)

Для начала необходимо экспортировать данные из Excel в обычный текстовый файл. Для этого, открыв таблицу в Excel, выбираем команду «Сохранить как…» и в качестве типа файла указываем «Текстовые файлы (с разделителями табуляции)». После сохранения откроем текстовый файл и проверим результат.

Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)

На этом внешняя подготовительная работа завершена.

Открываем шаблон в CorelDRAW. И расставляем карточки так, как нам это необходимо, с помощью докера трансформации. Здесь следует обратить внимание на очень важный момент — переменные данные (штрих-код, ФИО) необходимо оставить только в левой верхней карте. Она послужит нам шаблоном-меткой. В результате у нас должно получиться нечто подобное.

Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)

Переменные данные необходимо разместить на слое первой страницы, а всё остальное переместить на мастер-слой Desktop («Рабочий стол»). При этом Desktop должен находится под слоем первой страницы, как показано на правом изображении ниже.

Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)

Для того что бы переместить слой Desktop под слой страницы, в менеджере объектов необходимо переключится в режим Layer Manager View (правая крайняя кнопка на верхней панели докера), и просто удерживая нужный нам слой, перетащить его.
Все эти манипуляции со слоями необходимы, что бы не дублировать фон (карточки) на все последующие страницы. Возможно в дальнейшем, макрос будет делать это сам.

Ну вот и настал черёд макроса CardGenerator. Запускаем макрос с помощью команды CardGen.StartCardGenerator. По умолчанию макрос запускается в обучающем режиме. Как отключить этот режим, я расскажу чуть позже.

Первое, что нам необходимо — указать, из какого текстового файла необходимо брать данные. Обратите внимание, что абсолютно все переменные данные берутся из указанного файла. Указываем на тот файл, что мы сохранили из Excel, с помощью первой красной кнопки.

Затем, выделяем фоновые прямоугольники (легче всего, в данном случае, это сделать с помощью касательного выделения, зажав клавишу Alt) и нажимаем вторую красную кнопку. Если Вы всё сделали правильно, макрос покажет нам размер нашего листа, какое кол-во карт располагается на одном листе, а так же, размер одной карточки. Данные указываются в единицах измерения данного документа. Хочу отметить, что все карточки должны быть одного размера!

На данном этапе нам необходимо заблокировать слой Desktop. Это необходимо для того, что бы при создании новых дополнительных страниц, наши «фоновые» объекты не переместились на слой первой страницы. Для того что бы заблокировать слой, достаточно нажать на иконку карандашика напротив необходимого слоя.

Теперь вспомним, что первый столбик данных содержит фамилию и имя. Следовательно, сначала выделяем строку «ФИО данные» с помощью инструмента Pick tool, и жмём на третью красную кнопку. При этом макрос запомнит всё необходимое оформление и позицию относительно карточки, а так же сообщит, что первые данные успешно сохранены.
Затем выделяем штрих-код (так как второй столбик данных у нас содержит номер штрих-кода), и жмём ту же самую кнопку, для того что бы макрос запомнил необходимые данные.

После того как Вы указали макросы на все объекты-метки (в нашем случае это были текстовый объект и штрих-код), необходимо удалить их из документа. Это нужно делать только в том случае, если данные будут создаваться в этом же документе (об этом будет написано ниже).

Для того что бы макрос знал какие именно настройки штрих-кода применять, необходимо нажать кнопку, на которой находится иконка штрих-кода. После её нажатия откроется стандартное окно "Мастер штрих-кода". В этом окне выбираем тип (в нашем случае это CodaBar), число можете ввести любое, т.к. оно ни на что не влияет. С помощью кнопок «Next», укажите все необходимые настройки на всех этапах и в самом конце нажмите «Finish» для того что бы подтвердить настройки и закрыть окно мастера.

И последние штрихи. Включите опцию NoBG, так как нам не нужно создавать фоновых прямоугольников. А так же выключите опцию New Doc, по причине того что все данные нам необходимо создать в текущем документе. Опцию New Doc можно использовать только тогда, когда необходимо сгенерировать всё в новый документ.

Всё!!! Нам остаётся нажать кнопку «Пуск!» и дождаться окончания выполнения работы макроса.

Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)

Как видно на изображении выше, макрос взял данные из файла и разместил их согласно тому, как мы указали. Если данных много и все они не входят на одну страницу, макрос будет добавлять страницы и размещать на них данные, пока они не закончатся.

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

А теперь, подробнее. Как Вы уже, наверное, поняли, для макроса необходимо создать шаблон. Из этого шаблона макрос запоминает размер листа, какой размер имеет блок, и как блоки располагаются на листе. А так же, как располагаются данные внутри блока. Нужно так же отметить, что макрос может генерировать до 7 переменных данных в один блок за один раз.
Блок — прямоугольник, внутри которого находятся переменные данные одного экземпляра. В примере выше, в качестве одного блока мы использовали фоновый прямоугольник карточки.
Важно, что бы объекты-метки находились именно в первом выделенном блоке. Если опция «Авто-определение» включена, первым блоком будет верхний левый из выделенных. Вообще, порядок выделения блоков играет очень важную роль — в таком порядке будут создаваться переменные данные. При включенной опции «Авто-определение», макрос автоматически запоминает порядок блоков (слева на право, и сверху вниз) из выделенных.

Другие опции находящиеся в главном окне макроса:

  • NoBG — не создавать фоновые фигуры.
  • New Doc — генерировать данные в новый документ.
  • Разделители — специальные символы, которые делят строку на отдельные данные.

Что бы понять, что такое разделители, необходимо обратиться к описанному выше примеру. Итак, мы знаем, что одна строка — один набор данных. Мы так же помним, что сохраняя данные из Excel, мы использовали тип «Текстовые файлы (с разделителями табуляции)». Так вот, данные внутри строки разделяются непечатным символом табуляции.

Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)

Ключевое слово «tab» в макросе, эквивалентно символу табуляции.
Второй разделитель понадобится лишь тогда, когда штрих-код будет содержать два значения, например как на изображении ниже.

Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)

Дополнительной возможностью макроса, является расстановка растровых изображений. В текущей версии макроса, она работает следующим образом:

  1. Вы указываете папку, из которой брать JPG файлы (пока что, поддерживаются только они). Имена файлов указываются в общем файле данных.
  2. Определяете местоположение и размер, с помощью изображения-метки, по аналогии с текстовыми объектами и штрих-кодами.
  3. В итоге, макрос расставит все JPG файлы, найденные в указанной папке. Задаст им размеры объекта-метки, 300 dpi, а так же преобразует в CMYK.

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

Настройки макроса

В режиме обучения, в окне настроек заблокированы два параметра. Что бы иметь возможность управлять ими, достаточно открыть окно настроек, щёлкая на кнопку не левой кнопкой мыши, а правой.

Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)

  • Использовать режим обучения (изменения вступят в силу после перезапуска макроса).
  • Вставлять штрих-код как вектор. При включенной опции штрих-код вставляется как группа векторных объектов. Номер штрих-кода, если таковой есть, вставляется как шрифт. Если отключить данную опцию, штрих-код будет вставляться в документ как OLE-объект.
  • Конвертировать штрих-коды в CMYK. Данная опция работает только, если штрих-код вставляется как группа векторных объектов.
  • Использовать отключение перерисовки. При включении данной опции, макрос во время работы отключит перерисовку внутри документа. За счёт этого можно значительно ускорить процесс.
  • Окно CorelDRAW поверх всех окон, на время работы макроса. Макрос использует стандартное окно мастера штрих-кодов. Поэтому оно будет быстро появляться и исчезать на экране во время работы макроса. Если Вам это не нравится, Вы можете активировать данную опцию, и тогда на время работы, окно CorelDRAW будет перекрывать все остальные окна.
  • Время ожидания генерации штрих-кода. К изменению данного параметра следует отнестись весьма осторожно! Суть его в том, что после того, как макрос указывает мастеру какой штрих-код создавать, ему необходимо некоторое кол-во времени для создания. По умолчанию это время составляет половину секунды.

Также макрос содержит простой генератор нумераций — CardGen.StartNumGenerator. Описывать его настройки нет смысла. Достаточно взглянуть на изображение ниже, что бы всё стало понятно.

Макрос CardGenerator (новая версия)Макрос CardGenerator (новая версия)

Автор: Sancho
Актуальная версия: 4.4
Совместимость CorelDRAW: Х3 (13.0.0.739), Х4 (14.0.0.701), X5 (15.1.0.588)
Совместимость локализаций: Russian, EnglishUS
Язык интерфейса: Русский/English (зависит от локализации CorelDRAW)
Цена: 2000 1499 р.

Изменения последнего обновления:

  • Улучшена совместимость функции "Disable Screen Refresh" с различными версиями CorelDRAW.
  • Регистрационный ключ теперь хранится в реестре, и его установка теперь сводится к двум кликам.

Обсуждение макроса в форуме.
Часто задаваемые вопросы и ответы.

Комментарии

Аватар пользователя Sancho

Если при попытке запуска макроса Вы увидите сообщение "Sorry, your UI is ХХХХ", сообщите здесь число которое будет в этом сообщении. Тогда я смогу добавить в макрос поддержку CorelDRAW с этим языком.

Аватар пользователя Dep22

Какие ограничения в DEMO версии ?

Аватар пользователя Sancho

ограничение ОДНО -- за раз можно создать только 3 набора переменных данных.

Аватар пользователя Zivotnoe

С выходом данного макроса появилась достойная альтернатива кореловскому Print Merge. А именно - мощный инструмент для работы с переменными данными. Тут тебе и числа, и баркоды, и картинки. Попробовал демку - реализация мне понравилась. При возникновении вопросов все толково расписано (как, что, куда и зачем) + с видео. Ну и работает быстро, надежно. Надо брать полнофункционал, господа.

Аватар пользователя Sancho

Zivotnoe, спасибо за комментарий. А по макросу хотелось бы сказать, если есть идеи, у тех кто уже купил или просто попробовал макрос, высказывайтесь. Хотелось бы сделать макрос ещё лучше :)

Аватар пользователя Sancho

Не за горами обновление! Благодаря тем, кто уже успел купить или попробовать пробную версию, я наметил небольшой список изменений и дополнений, часть из которого уже реализована в нерелизной версии.

Аватар пользователя kvant66

Подскажите пожалуйста, как запустить команду CardGen.StartCardGenerator, если я уже установил макрос, но когда нажимаю команду "Запустить макрос" у меня нет ни одного файла для его запуска. После установки у меня вышло окно с таким содержимым:
--------------------------------------CorelDRAW ХЗ--------------------------------------
Output folder: C:\Program Files\Corel\CorelDRAW Graphics Suite 13\draw...
Extract: SanM_CardGen.gms
Extract: SanM_CardGenHelpRU.txt
DelayLoadVBA::off

Completed

Аватар пользователя Sancho
Аватар пользователя lomov

А возможно сотворить тоже самое для inDesign?

Аватар пользователя lomov

Такой вопрос. У вас написано , что полная версия привязывается к железу, а если в дальнейшем апгрейд делать, то надо покупать занаво?

Страницы