Создание документов по шаблонам (из 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 по одной исходной таблице (прайсу)
  • заполнять командировочные удостоверения, инструкции, соглашения, или любые другие однотипные документы

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

Комментарии

- шаблоны в 2013-м??? это как?
нет такого формата файла...

Это я написал для простоты общения, разрешение файлов, как вы справедливо заметили действительно DOCX и DOC. Так вот подтверждаю, что шаблоны с разрешением DOCX, а сохраняться стали с разрешением DOC.

-(подменю ДОПОЛНИТЕЛЬНО - кнопка ВОССТАНОВИТЬ ФОРМУЛЫ)

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

И опять, как в ранних версиях, при открытии таблицы с данными, стали вскакивать предупреждения о не безопасных связях с внешними источниками. Это как то можно убрать?

Валерий, ну зачем вы так сразу...

настройки слетели по прописным числам??
в моей программе нет никаких настроек таких, - там просто нечему слетать

может, у вас формулы изменились, из-за того что сменился путь к файлу надстройки?
так это исправляется одним нажатием кнопки
(подменю ДОПОЛНИТЕЛЬНО - кнопка ВОССТАНОВИТЬ ФОРМУЛЫ)
Чтобы на панели инструментов отобразилось меню ДОПОЛНИТЕЛЬНО - надо поставить соответствующую галочку в настройках программы

вообще не чего не работает

как? вот прям совсем ничего не работает?
из опыта, обычно эту фразу говорят девушки-бухгалтеры, когда они случайно что-то не то нажали в своей 1С ))

да и вообще, если у вас раньше всё работало, - зачем программу обновляете?
запомните правило: работает — не трогай!

программа сохранять документы стала в формате Word 2003, хотя шаблоны в 2013-ом

шаблоны в 2013-м??? это как?
нет такого формата файла...

если шаблон в формате DOC - и создаваемый документ будет в том же формате
(DOC - это формат Microsoft Word 97-2003)
если же шаблон в формате DOCX или DOCM или DOCB - то аналогичный тип файла получит и создаваемый документ

разумеется, если у вас установлен Office 2003, - то файлы на выходе будут формата DOC
во всех новых версиях Office, формат шаблона сохраняется при создании документа

И вот еще косячек, программа сохранять документы стала в формате Word 2003, хотя шаблоны в 2013-ом.

Да не, ошибся, вообще не чего не работает, КОШМАР!!!!!

Зашибись, программка обновилась, слетели все настройки по прописным числам и датам, все надо заново настраивать во всей таблице, подкинул брат работенки.

8 июня 2014 г. в 07:22 стало доступно обновление программы «FillDocuments» (версия 2.3.0).

Изменения в новой версии программы:

+ добавлена возможность задавать список заполняемых шаблонов для каждой строки исходной таблицы

+ реализована вставка изображений из заданной папки в шаблоны Word

+ обновлена форма настроек программы

Рекомендуем обновить программу до последней версии!

Видеоинструкции по расширенным возможностям пока нет
На днях выпущу новую версию программы, и сразу займусь видео.

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

Барнс, таблица вставляется на место абзаца с тегом типа {Таблица}
Вот какое форматирование имеет этот абзац (выравнивание, отступы), - такое получит и вставляемая таблица
Поэкспериментируйте с форматированием строки, содержащей тег {Таблица} - должно всё получиться.

К примеру, такие параметры применить во время вставки к таблице:
with ActiveDocument.Tables
.Spacing = 0
.TopPadding = 0
.BottomPadding = 0
.LeftPadding = 0
.RightPadding = 0
.Rows.Alignment = wdAlignRowCenter
end with

Спасибо за ответ.

А возможно ли попутно задать форматирование самой вставляемой таблице при вставке с форматированием excel или word? (то же выравнивание, которое по умолчанию идет по левому краю; поля ячеек)

Здравствуйте, Барнс
Возможно, у вас что-то лишнее в плане форматирования и стилей сохранено в настройках Word, или в используемом шаблоне.
(поскольку у других пользователей таких проблем не было)
Что именно искать в Word - не могу подсказать (я в этом плохо разбираюсь)
Первым делом, посоветую создать шаблон документа «с нуля» (пустой файл), и попробовать на нём (вставив в чистый документ только код поля {Таблица})

Ну и есть в моей программе другие варианты вставки: с исходным форматированием, в виде картинки, и т.п., - эти варианты пробовали?

Странная тема с вставкой таблиц (used range) в документы ворд: вставляются в виде скрытого текста. Если для таблицы очистить формат (сбросить форматирование) и снова установить нужное - все нормально. С этим как-то можно побороться или каждый раз при изменении в таблице придется проделывать махинации с форматированием?

ясно, ответил уже хорошо
p.s. для любителей заполнять в ручную есть замечательно работающие бесплатные скрипты

Мои программы работают только в Excel
OpenOffice не поддерживается (в ближайшие несколько лет точно под него ничего делать не буду, - невыгодно, т.к. пользователей очень мало)
Если Microsoft Office не нравится, - всегда есть возможность заполнять документы вручную.

что насчет опен офиса?
мне не нравиться мелкийсофт.

Евгений, формулы — они, вообще-то, для Excel...
Моя надстройка содержит формулы (функции) для Excel, - на в файлах Word, ни в файлах JPG, ни в текстовых файлах, эти формулы работать не будут...

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

Мой шаблон в Word`е

Поскольку функция встроена в мою надстройку, - она работает только тогда, когда запущена надстройка (FillDocuments)

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

Функция =ФамилияИО(B32) работает только в исходной таблице с данными ?
Если ее вставить в шаблон, она не работает.

Здравствуйте, Евгений
На сайте проводились технические работы, - теперь снова все должно открываться.

Ссылки с инструкциями перестали работать

А вы перейдите на страницу оплаты, пролистайте страницу вниз, - там есть вся необходимая информация:
http://excelvba.ru/buy/addin?name=FillDocuments

Здравствуйте, хотели бы приобристи программу на юр.лицо. И оплатить по б/н расчету, как это сделать?

Здравствуйте, Дмитрий.
Не совсем понял, какое отношение ваш вопрос имеет к моей программе.

В Excel перенос внутри ячейки задается символом с кодом 10, как вы и написали (вводится нажатием Alt + Enter)
Как моя программа вставит этот перенос в Word, - тут есть несколько вариантов.
Нужный режим выбирается в настройках программы, на вкладке «Дополнительно» (там есть выпадающий список с вариантами, - попробуйте все варианты, какой-нибудь да подойдёт)

А если ваш вопрос касательно Excel - как сделать отступ после перевода строки, - так это можно сделать пробелами
(символ табуляции - СИМВОЛ(9) в Excel не работает):

="    "&"Первая строка текста"&СИМВОЛ(10)&"    "&"Вторая строка текста"

или же при помощи формата ячейки (параметр ОТСТУП ОТ ЛЕВОГО КРАЯ)

Игорь, здравствуйте.

Подскажите, имеется ли возможность формулой или макросом задать красную строку внутри одной ячейки?

Символ(10) дает мягкий перенос, символ(182) не работает в ворде, точнее как символ вставляется.

Чтобы в связке типа - Текст1 & символ(10) & Текст2

обе части с красной строки вставлялись из одной ячейке - такое возможно?

Здравствуйте, Magbit

Можно отправлять файлы на печать выборочно.
Достаточно выключить режим вывода на печать в настройках программы (это общие настройки для всех шаблонов),
а в имена шаблонов, которые надо распечатывать, поставить метку {print} или {print=2},
например, переименовать шаблон Договор.doc в Договор{print=2}.doc

Подробнее - в инструкции по настройке имён файлов (см. в самом конце инструкции)

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

Игорь, с проблемой разобрался, оказалось что файл выходил за границу печати а сообщение об этом вылезти не могло, подвинул файл, все норм =) Прога спасает постоянно, еще раз огромное СПАСИБО! надеюсь скоро выйдут обновления!
Еще хотел сказать, что было бы удобнее, если бы каждому шаблону соответствовали отдельные настройки (например один док мне нужен в электронном виде, остальные нужно выводить на печать). Конечно жиру бешусь, но это было бы простом супер!(иногда забываю снять галку и на печать отправляется не то что нужно). А если бы каждому файлу по умолчанию можно было бы задать принтер с которого бы печать пошла, мммм... но это уже из обл фантастики...
А так СПАСИБО!

Здравствуйте, Фьюри.
Разница в скорости подстановки, - из-за различий в алгоритме поиска и замены.
Для подстановки значений в документ используется штатная функция поиска и замены (вручную запускается нажатием Ctrl + H)

' обычная быстрая замена
doc.Range.Find.Execute key$, False, , False, , , , , , txt$, 2

Если же надо подставлять текст в колонтитулы, надписи, и прочие объекты, - необходимо в цикле перебирать все области документа, - а это увеличивает время:

' расширенная замена
For Each myStoryRange In doc.StoryRanges
    myStoryRange.Find.Execute key$, False, , False, , , , , , txt$, 2
    While Not (myStoryRange.NextStoryRange Is Nothing)
        Set myStoryRange = myStoryRange.NextStoryRange
        myStoryRange.Find.Execute key$, False, , False, , , , , , txt$, 2
    Wend
Next myStoryRange

Игорь, а почему настолько дольше получается с подстановкой в колонтитулы, где-то раз в 5?