Восьмое Марта близко, близко!
Одна из задач, сваливающихся накануне праздников – это подготовка именных вкладышей в поздравительные открытки. Вот и опять скоро придется в сумасшедшем темпе готовить несколько сотен листочков к 8 Марта.
Традиционно информация о персоналиях присылается в экселевском файле, и выглядит примерно так:
В поздравлении должно быть только имя и отчество, поэтому перенесём в InDesign только эту информацию
Чтобы переносилась таблица, а не только текст, в окне Preferences на вкладке ‘Clipboard Handling’ надо указать, что копируется вся информация, а не только текст:
Имеющаяся в инструментарии программы опция слияния ячеек не способствует быстрому решению этой задачи.
Мало того, что надо поочередно выделять пары ячеек, после слияния имя и отчество становятся двумя абзацами.
Но эту задачу можно решить скриптом MergeCellsInTwoColumnTable.jsx, он во вложении.
Скрипт работает только если в тексте нет переполнения. Поместите курсор в ячейку двухколонника, и после завершения работы программы в таблице останется одна колонка с перечнем поздравляемых.
Теперь таблицу превратите в текст – каждая строка будет отдельным абзацем. Чтобы каждый такой абзац помещался в новом фрейме, сделайте стиль, в котором на вкладке ‘Keep Options’ условие ‘Start Paragraph:’ установлено в ‘In Next Frame’.
Теперь поздравлять можно хоть Государственную Думу, хоть ткацкий комбинат – время подготовки файла к печати займет несколько секунд.
Скачать скрипт MergeCellsInTwoColumnTable.jsx (*.zip)
Можно в Экселе использовать функцию «=сцепить()», тогда имя и отчество будут в одной ячейке
Да, но в том случае, что стал причиной этого решения, у меня не было желания вносить правку в файл, лежащий на сервере.
Реальная задача еще осложняется тем, что excel -файл организован так, что по выборке поздравителя выводится список тех, кого он будет поздравлять, и смена поздравителя выводит на экран новый список.
В общем, пока самый быстрый и безопасный способ был копировать нужные столбцы и уже в Индизайне работать с информацией.
Можно было бы слово «Уважаемая» тоже брать из соседней колонки. Но в реальном файле между колонкой с вариантом обращения и коленками «имя» и «отчество» очень мног столбов. Я для примера упростил и поставил их рядом. В реальном моем случае проще было взять соседние колонки с именем и отчеством, а слово Уважаемая добавлять в скрипте.
Честно говоря, «затык» при «ручной сборке», без скрипта, увидел только в восклицательном знаке на конце, и то, если это можно считать проблемой.
Например, приведенная в статье двухколоночная таблица конвертируется сразу в текст с нужным результатом, если при конвертации задать Column Separator: » » (пробел). А «Уважаемая»? Выделить текст, диалог нумерованных списков, в поле «Numbering» набрать «Уважаемая «, ОК, Convert Numbering To Text. Ну а грепом и знак восклицательный потом приделать. Для разовой операции алгоритм, по-моему, тот, что надо.
А если таких таблиц много, то конечно утомительно будет без скрипта.
А зачем делать всё так сложно?
Excel позволяет выгрузить лист таблица в текстовый файл (текст MS-DOS), в котором в блокноте заменяем все табуляции на пробелы, а при необходимости убираем два и более пробела. У нас есть текстовый файл, который мы можем спокойно вставить в InDesign.
Не нравится через файл, можно через Word и буфер обмена. Выделяем в Excel нужный диапазон, переходим в Word и через команду «Вставка-Специальная вставка» получаем тот же текст с форматированием табуляцией. Убрать табуляцию и «двойнве» пробелы средствами Word — дело трех секунд.
Ух ты, сколько откликов!
Спасибо, но согласитесь, что все они, ведя к одному и тому же результату, проигрывают скрипту в числе необходимых рукодвижений.
Просто тут нет смысла объяснять всю кухню генерации именных поздравлений, когда каждый начальник хочет иметь свой комплект поздравлялок, и этот список почему-то бывает готов за очень поздно. И нам остаётся только придумать, как это сделать супербыстро.
8 Марта — это еще цветочки, у меня пока всего восемь файлов с разным числом осчастливленных поздравлением, или подарком, или цветами, или открыткой. Но еще есть время, думаю, еще кто-нибудь тряхнёт на следующей неделе стариной, и пока она не отвалилась, : ) , захочет поздравить десятки своих знакомых.
А когда на Новый год до трех тысяч вкладышей разного размера и имена-фамилии из разных файлов брать надо, и это не в один общий файл, а в разные, то этом случае лучший тот способ, в котором меньше всего шагов.
А Data Merge, встроенный в InDesign, разве не решает эту задачу?
>> А Data Merge, встроенный в InDesign, разве не решает эту задачу?
Вот и я сразу подумал про Data Merge. Тем более тут статья была как работать с Data Merge.
Поздно уже, конечно, но всё же…
Формула Excel-а, решающая эту задачу (в любой клетке правее списка, для примера номер строки = 1)
= B1&» «&D1&» «E1&»!»
В InDesign посредством DataMerge и делать-то особо ничего не надо, имена столбцов данных в нужные места шаблона вставить и всё.