Создание документов по шаблонам (из Excel в Word) + рассылка почты

Надстройка FillDocuments для MS Excel: общие сведения

Предназначение программы: заполнение множества документов данными из Excel нажатием одной кнопки.

Для работы программы требуется таблица Excel с данными для подстановки, и папка с шаблоном (шаблонами) документов.
В качестве шаблонов можно использовать файлы Word и Excel.

На выходе получаются заполненные файлы исходного формата, или формата PDF.
Возможно формирование писем по шаблону, с последующей рассылкой через Outlook или TheBAT.

Особенности программы

  • Количество шаблонов не ограничено. Вы легко можете сами настраивать любые шаблоны.
    В качестве шаблонов могут выступать файлы Excel (XLS, XLSX и др.), документы Word (DOC, DOCX и др.), а также текстовые документы (расширения TXT, DAT, XML и т.д.).
  • Гибкая настройка имён создаваемых файлов. Можно раскладывать файлы по подпапкам.
  • Подстановка таблиц и картинок (фото, печатей, подписей и т.п.) в заполняемые документы.
  • Склонение фамилий, дата и сумма прописью, — дополнительные функции обработки данных.
  • Рассылка почты (писем с вложениями) через TheBAT! или Outlook. Можно формировать красивые HTML-письма
  • Есть возможность формировать один документ по нескольким строкам исходной таблицы.
    (вывести список сотрудников в приказ, список товаров в накладную, и т.д.).
  • Можно выбирать шаблоны для заполнения в диалоговом окне
    (или даже программа будет сама брать нужные шаблоны для разных строк)
  • Подстановка данных в надписи и колонтитулы шаблонов Word.

С момента выхода программы в 2012 году, её функционал постоянно развивался (вышли десятки обновлений), поэтому сейчас в FillDocuments есть всё, что только может вам понадобиться для задачи создания документов по шаблонам.

Более подробно всё это описано в разделе Справка по программе

Видеоинструкция

На видео рассказывается о работе с программой, и показан процесс её настройки:

Подробные инструкции и описание функционала также можно найти в разделе Справка по программе

Нажатием одной кнопки, эта программа вам позволит:

  • заполнить и распечатать договор купли-продажи и акт выполненных работ всего за пару секунд
  • подготовить приказы, уведомления и доверенности по таблице с данными сотрудников
  • разослать персонифицированные коммерческие предложения или приглашения по почте
  • подготовить договоры и акты по шаблонам, и сразу вывести их на печать
  • сделать красивые грамоты по различным шаблонам, и сохранить результат в виде ПДФ файлов
  • распечатать несколько накладных или заявок на товар в формате Excel по одной исходной таблице (прайсу)
  • заполнять командировочные удостоверения, инструкции, соглашения, или любые другие однотипные документы

Как скачать и протестировать программу

Комментарии

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

Потому что мои программы несовместимы с Mac. И не будут совместимы.
В разделе FAQ всё подробно описано: http://excelvba.ru/faq/system_requirements

На Ofice для mac не работает :(
В самом начале выскакивает "ошибка компиляция..."

Добрый день в форуме я не нашёл ответа. У меня появилась проблема в начале все работало достаточно быстро а потом на одном м из мест один документ формирует примерно 2 мин что это может быть?

Здравствуйте, Алексей.

все эти строки заполняются данными из первой строки, но данная проблема решается перезагрузкой компьютера

Увы, тут подсказать ничего не могу
Если бы проблема была постоянной, - можно было бы поискать причину в настройках, или в самой программе.
А в вашем случае, - проблема или в Excel (работа буфера обмена, или настройки программы Excel), или в Windows (раз лечится перезагрузкой)

В режиме Multirow, происходит размножение строки (содержащей метку «Multirow») путём обычного копирования.
Т.е. в цикле 10 раз строка копируется, и после каждого копирования в новой строке меняется символ # на номер копии.
Потом исходная строка удаляется.
В результате должны из строки с кодом {КодПоля#} получиться строки с кодами {КодПоля1}, {КодПоля2}, {КодПоля3}, ... {КодПоля10}
В вашем случае, судя по всему, после первого успешного копирования из {КодПоля#} в {КодПоля1}, продолжает копироваться не исходная строка с {КодПоля#}, а новая строка {КодПоля1} — в результате, на выходе получается 10 строк в кодом {КодПоля1}
Причина может быть как в самом Excel (что-то в настройках, или глюк в программе), так и в некорректно установленной метке «Multirow»
(эта метка должна быть присвоена одной строке, выделенной полностью)

Попробуйте на других компах, — если там всё будет работать как надо, без сбоев, — значит, надо установить другую версию Excel (рекомендую Excel 2010)

когда следом формируются doc в прогресс-баре отображается ошибка "Слишком длинный строковый параметр"

Не обращайте внимания на эту ошибку. Устраню в следующих версиях.
Эта ошибка никак не влияет на заполнение документов в вашем случае.

doc по времени формируется также как и xls хотя в doc функция multirow не используется

Это недостаток алгоритма программы (когда я делал функцию Multirow, ей пользовались 1-2 пользователя, и она обрабатывала небольшие блоки строк).
Дело в том, что программой формируется список замен вида {КодПоля} -> ЗначениеПоля (количество элементов равно количеству столбцов исходной таблицы)
В режиме «Multirow» этот список замен во много раз больше, т.к. там, помимо вышеуказанного списка полей, присутствуют поля режима Multirow вида {КодПоля1} -> ЗначениеПоля1, {КодПоля2} -> ЗначениеПоля2, и т.д. до {КодПоля800} -> ЗначениеПоля800 (в вашем случае для 800 строк)

И при подстановке в документ, моя надстройка выполняет ВСЕ замены из этого списка (независимо от того, присутствует ли в шаблоне код {КодПоля800} — программа всё равно применит к шаблону команду «Заменить {КодПоля800} на ЗначениеПоля800»)
Эти замены, хоть ничего в файле шаблона и не меняют, — но занимают очень много времени (особенно в случае с Word, и тем более, если в настройках включена опция подстановки в надписи и колонтитулы Word)

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

Возможно ли реализовать возможность "Профилей" для настроек программы

Да, возможно.
В других моих программах (типа надстройки Lookup) — это уже реализовано:
http://excelvba.ru/programmes/Lookup/settings
В этой программе (FillDocuments) пока такой возможности нет, но в следующих версиях планируется.

Доброго времени суток! Игорь подскажите, во первых почему иногда при формировании файлов в ecxel-е с использованием функции multirow при наличии допустим 10 строк, все эти строки заполняются данными из первой строки, но данная проблема решается перезагрузкой компьютера.
Во вторых мне приходится одновременно формировать doc и xls файлы из одной исходной таблицы, в xls формируются файлы с большим количеством строк (примерно до 800 строк) это занимает приличное количество времени, но вот когда следом формируются doc в прогресс-баре отображается ошибка "Слишком длинный строковый параметр" и doc по времени формируется также как и xls хотя в doc функция multirow не используется.
Ну и напоследок)) Возможно ли реализовать возможность "Профилей" для настроек программы ну или как то по другому решить этот вопрос, у меня допустим разные исходные таблицы с разным количеством столбцов и формировать мне надо разные файлы с непохожими именами, постоянно приходится менять маску имен и значение последней заполненной строки.
Заранее Спасибо!

Спасибо большое!

А зачем мне это?
Украшательств можно много всяких понавешать, - но программа от этого лучше не станет.
Ни в одном серьезном программном продукте (Windows, Office, и т.д. и т.п.) самозакрывающиеся msgbox не используются, - значит, не особо-то это и нужно...

Игорь, я не хотели бы применить наработку vbaшных коллег msgbox с закрытием через время? http://www.cyberforum.ru/vba/thread713645-page3.html#post5874942 . Удобно, сообщения сами выпиливаются через заданное время.

Спасибо, что обратили внимание на ошибку.
Да, это глюк программы (появился при обновлении сайта), — картинки не все скачивались, потому следующая кнопка не становилась активной.
Исправил ошибку, — скачайте заново программу с сайта, всё будет работать.

PS: Инструкцию можно просматривать сколько угодно раз, — она доступна через меню ДОПОЛНИТЕЛЬНО - ПОКАЗАТЬ КРАТКУЮ ИНСТРУКЦИЮ ПО ПРОГРАММЕ
-----------
Этот комментарий относится к другой программе — "вставка картинок из папки": http://excelvba.ru/programmes/PastePictures

При просмотре инструкции, которая выводится только при первом запуске программы, на 4 шаге "Тестирование вставки картинок из папки" делаю все по порядку, но...
1 шаг - скачать пример таблицы с сайта - успешен,
2 шаг - скачать тестовые картинки - успешен,
3 шаг - после манипуляций, произведенных по порядку, выше остается неактивным почему-то... Почему?
Или это глюк в программе?

Здравствуйте. Да, можно сделать опцию скрытия прогресс-бара.
Постараюсь добавить в следующей версии.

Но я бы не советовал отключать прогресс-бар, - сложно будет отслеживать, работает макрос, или он уже закончил работу
(закрытие Excel или открытие шаблона Word во время работы макроса может привести к сбою)

Игорь, доброго времени суток дня и ночи.

А смогли бы добавить возможность отключать прогресс-бар? Просто иногда он мешает.

Спасибо все отлично!!

Здравствуйте, Алексей
Сбросил старые активации, - можете заново активировать.

Добрый день! Игорь подскажите на компьютере где стояла надстройка возникла необходимость переустановить винду, после переустановки винды слетела активация программы FillDocuments при повторном вводе регистрационных данных выскакивает окно с сообщением что у вас закончились все 2 лицензии
P.S. На компе переустанавливал только винду железо не трогал

Спасибо, Игорь, то что надо. Еще б добавили скан в подпапках папки с pasteworddoc файлами, чтоб файлы не лежали кучей в одной папке, а были структурированы по подпапкам.

Сейчас программа вставляет блоки текста из файлов Word в другом формате:
Selection.PasteAndFormat 16 'wdFormatOriginalFormatting
При тестировании, всё вставлялось как надо (с исходным форматированием)

Исправил на wdPasteDefault, залил обновленную версию на сайт
(скачайте программу заново с сайта, и проверьте)

Игорь, речь про одну из последних фишек программы: подстановка целых блоков отформатированного текста из файлов word (pasteworddoc). Так вот, если использовать вариант вставки Selection.PasteAndFormat (wdPasteDefault или константа 0, если из excel), то стили сохраняются при вставке, что особенно важно - стили многоуровневых списков. Один раз как отформатировал блок текста, так он и будет вставляться.

Здравствуйте, Чак
О каких блоках текста идёт речь?
То, что из ячеек исходной таблицы подставляется в шаблон?
Исходное форматирование текста в ячейках не учитывается, - т.к. вставка идет через поиск и замену Word
(а не через копипаст из ячейки в документ Word)

Игорь, блоки текста вставляются без сохранения стилей. Если поменять константу (PasteAndFormat 0), то стили сохраняются.

Реализуйте, пжл, подхват информации из word файлов не только из заданной папки, но и из подпапок данной папки.

Здравствуйте, Анастасия
Видел ваши письма. У меня временно нет возможности сгенерировать код активации для компьютера без интернета
(я сейчас в отпуске, до 30 ноября)
Постараюсь сегодня-завтра придумать что-нибудь
Если вам удастся хоть на минуту подключить интернет на этот комп, - у вас получится активировать и юез моей помощи.

Добрый вечер! Оплатила лицензию на Filldocuments на 2 компьютера вчера вечером. Но один из компьютеров без доступа к интернету. Отправила все данные по email, но ответа пока нет. Возможно ли получить код активации на второй компьютер в ближайшее время?

Здравствуйте, Алексей.
Не видя ваших файлов, ничем конкретным помочь не смогу.
Позвоните мне в скайп после 30 ноября, - разберемся.

Добрый день Игорь! Подскажите у меня при формировании определенного файла в excel то заполняется то не заполняется один и тот же столбец подскажите с чем это может быть связанно?!

Здравствуйте! Не могли бы Вы более подробно объяснить про гиперссылки? Уверен это многим интересно. У меня текст был в ворде. Я его загнал в онлайн конвертер Из Ворда в HTML. Получил много непонятных знаков. Все это скопировал и вставил в Вашей программе в раздел "письма", подраздел "текст письма". Отправил письмо и оно было получено получателем с теми же непонятными знаками.

Чтобы в письме при рассылке была гиперссылка - надо формаровать шаблон письма в формате HTML
(соответвенно, можно будет задать и любое другое форматирование)

----------
Насчет функции ФамилияИО - напишите мне в скайп, разберемся (сейчас пока нет времени)

Если женская фамилия оканчивается на о, то при формуле вида фамилияио(родительный(фио) теряется имя. Для пробы можно прогнать данко марина ивановна.

Здравствуйте! Как при почтовой рассылке поставить в текст шаблона письма гиппперссылки?