Хостинг на valuehost.ru. Домен в подарок!
Создание сайтов, оптимизированных под мобильные устройства
Блоги


Во всех сферах деятельности, где требуется компьютер и офисный пакет, время от времени возникает необходимость печати и рассылки бланков на основе таблицы с именами и адресами группы людей. Например, на основе списка регистрации на мероприятие надо распечатать именные приглашения.
На первый взгляд, такая задача не решаема без привлечения СУДБ, генератора отчетов, или VBA-программирования. Оказывается, в популярных офисных пакетах встроен простой и удобный инструментарий для решение такой задачи без необходимости изучать азы СУБД, но он так хитро спрятан, имеет несколько не очевидных нюансов в работе, что многими игнорируется.

В этой статье я опишу простой, не требующий обращения к СУБД и программирования способ генерации, сохранения в один файл и печати бланков на основе таблицы XLS/ODS в бесплатном офисном пакете OpenOffice через инструмент "Рассылка писем" OpenOffice Writer.

Итак, наша задача - массовая печать красивых именных бланков единого стиля на основе некоего шаблона и таблицы-списка регистрации участников мероприятия в формате эксел XLS. Решение задачи простое и элегантное: используя "Мастер рассылки писем", указав на определенном этапе в качестве источника адресов экселовский файл с таблицей регистрации, а на другом этапе - шаблон с динамическими полями, привязанными к этой таблице, вместо рассылки в итоге выбрать сохранение результата в один общий, или много отдельных файлов. В итоге мы создадим и тут-же можем распечатать либо многостраничный документ, каждая страница которого создана по исходному шаблону, но заполнена данными для конкретного лица (удобно для массовой печати), либо много файлов с уникальными страницами - бланками (удобно рассылать по отдельности).

1. Первым делом создадим в OpenOffice Writer нужный шаблон бланка с требуемым форматированием и местами под динамически вставляемые поля. Сохраним подготовленный шаблон в формате .ott (шаблоны OpenOffice).



2. Вызовем инструмент "Мастер рассылки писем" командой "Сервис->Рассылка писем".
На первом шаге мастера "(1. Выбрать начальный документ"( выберем пункт "Использовать текущий документ".



3. На втором шаге мастера ("2. Выбрать тип документа") отметим второй пункт "Электронное сообщение".



4. На третьем шале ("3. Выбрать список адресов") нажмем кнопку "Выбрать список адресов" и укажем на экселовский файл с таблицей регистрации.



5. Можно пропустить 4-й и 5-й шаги, сразу перейдя к шагу "6. Правка документа".
При этом мы вернемся к редактированию шаблона. На этом, самом "хитром" этапе, нам надо будет вставить в шаблон динамические поля из подключенной таблицы-источника, и привязать таблицу к шаблону.
Для этого, командой "Вид->Источник данных" (горячая клавиша F4) отобразим интерфейс работы с источниками данных на странице шаблона. В источнике данных уже будет присутствовать наша таблица. Выберем поле "Таблицы" и в открывшемся табличном окне начнем перетаскивать заголовки нужных полей левой кнопкой мыши на места их динамического отображения в шаблоне. При этом там появятся серые теги с именами полей таблицы.





6. Нажмем вторую справа кнопку в меню редактора источников данных, чтобы привязать таблицу к шаблону и сохраним шаблон. Теперь при последующие открытии он будет сразу привязан к выбранной таблице, и чтобы выполнить печать бланков, надо будет вызвать инструмент "Источник данных" по F4, в его меню нажать третью кнопку справа (иконка с письмами) для вызова "Мастера рассылки писем" и сразу выбрать шаг "7. Персонализировать документ".



7. После завершения добавления динамических полей в шаблон, привязки к нему таблицы и сохранения, вернемся к "Мастеру рассылки писем" через плавающую (слева) кнопку "Вернуться в рассылку писем" и выберем пункт следующий шаг ("7. Персонализировать документ"). Запустится процесс создания итогового документа с бланками, хотя окно будет озаглавлено как "Рассылка писем".



8. По завершению процесса генерации документа мы окажемся на последнем шаге "Мастера рассылки писем" ("8. Сохранить, напечатать или отправить"). Здесь лучше всего сперва сохранить результат в один файл кнопкой "Сохранить документ", выбрав перед этим пункты меню "Сохранить объединенный документ" и "Сохранить одним документом". Затем из этого же окна можно массово распечатать бланки, или разослать их по e-mail.



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

Данный процесс был успешно опробован в довольно старой версии OpenOffice 2.4.2, которая хорошо и быстро работает на старых компьютерах под управлением Windows XP. Полагаю, инструменты Источник данных" и "Мастер рассылки писем" должны были остаться без кардинальных изменений в новых версиях OpenOffice. По крайней мере, теперь вы знаете, как принципиально ими можно воспользоваться.

Теги: OpenOffice печать бланков