- Видеоинструкция по программе заполнения документов
- Заказать настройку шаблонов документов
- Настройки программы FillDocuments
- Шаблоны документов
- Рассылка писем из Excel
- Полезные формулы для исходной таблицы
Режим MultiRow: один документ с данными из нескольких строк
- Вставка объектов в документы Word
- Возможные проблемы, и способы их решения
- Переключение между наборами настроек
- Дополнительные возможности
Режим MultiRow: один документ с данными из нескольких строк |
По умолчанию, надстройка FillDocuments формирует отдельные документы для каждой из строк исходной таблицы.
Но, иногда, требуется подставить в один документ данные сразу из нескольких строк таблицы Excel.
Предположим, что у нас есть вот такая таблица в Excel, и перед нами стоит задача сформировать приказ на премирование сотрудников:
Причём, должно получиться не 14 отдельных документов (по количеству сотрудников), а один (или 4, по одному приказу на каждый отдел)
В этом нам поможет режим с названием MultiRow, реализованный специально для таких задач.
Включить режим MultiRow можно в настройках на вкладке «Дополнительно»:
Если нам нужен ОДИН общий приказ, мы включаем только первую галочку («Включить режим Multirow»), а если нужны отдельные приказы для 4 отделов, то включаем вторую опцию «Формировать по каждому шаблону столько файлов, сколько уникальных значений содержится в столбце», и указываем номер столбца с отделами — 3 «С»:
Теперь переходим к настройке шаблона документа под режим Multirow.
В шаблоне мы делаем только одну строку (абзац текста) для подстановки данных, но помечаем эту строку специальной меткой, чтобы указать программе, что эту строку нужно размножить на несколько строк (сколько строк с исходными данными есть в исходной таблице Excel)
Инструкции по настройке шаблонов для режима Multirow:
Мы будем использовать такой шаблон:
ВНИМАНИЕ: настроенный файл шаблона и исходная таблицу Excel, на примере которых написана эта инструкция, прикреплены в конце этой статьи.
Можете скачать файлы, закинуть шаблон в папку Шаблоны, открыть таблицу Excel, и протестировать.
После того, как мы настроили шаблон, и поместили его в папку Шаблоны, можно пробовать сформировать документы.
Для этого:
- выделяем в исходной таблице несколько строк
(либо в настройках на вкладке «Исходная таблица» включаем галочку «Формировать документы ПО ВСЕМ заполненным строкам таблицы») - нажимаем на панели инструментов кнопку Сформировать документы
Если мы всё настроили правильно, то по завершении заполнения приказов прогрессбар будет выглядеть так:
а в папке Документы должно появиться 4 файла:
(использовалась маска имени файла вида {%filename%} - {Отдел}.{%ext%} )
Документы
приказ о премировании - бухгалтерия.docx
приказ о премировании - сбыт.docx
приказ о премировании - склад.docx
приказ о премировании - снабжение.docx
Открываем один из сформированных файлов, и видим в нём следующее:
Если же мы в настройках не включали опцию «Формировать по каждому шаблону столько файлов, сколько уникальных значений содержится в столбце», то на выходе должны получить ОДИН документ, с данными из всех строк исходной таблицы:
- Добавить комментарий
- 74562 просмотра
Комментарии
Антон, такой возможности нет в программе (а реализовать её - очень сложно)
Спасибо за надстройку! Наигениальнейшая штука! Только возник вопрос с использованием функции Multirow, можно ли добавить настройку, чтобы по аналогии с формированием нескольких файлов по признаку, как в примере, для разных отделов формируются разные файлы, так фот, чтобы по признаку, тому же названию отдела, в одном файле создавалось несколько таблиц, по количеству отделов?
Денис, в программе это не предусмотрено (я вообще не очень понимаю, для чего это нужно, не видя ваш файл и не понимая ваших целей), но это можно решить фильтрацией исходной таблицы. Отфильтровать её так, чтобы остались видимыми только нужные строки (по которым надо формировать документы), и после этого запускать программу.
Добрый день! Подскажите, пожалуйста, если рассматривать Ваши примеры заполнения приказа, можно ли сделать так, чтобы отдел (например, бухгалтерия) заполнялся не столько раз, сколько сотрудников в отделе, а только один раз для первого сторудника?
Напишите мне в телеграм, скинете шаблон и таблицу с исходными данными, я проверю.
Дело как раз в том, что не только на 2021, но и на 2019 тоже не работает корректно (проверено также на основе ваших файлов из примера). А 2019 это очень большая аудитория. На 2017 не тестировали
По идее, одинаково работать должно. Размножение строк - это обычное копирование и вставка, и нет разницы, выполнить операцию эту 2-3 раза, или 100 раз. Office 2010 - стабильная версия (поэтому я ей до сих пор пользуюсь), офис 2021 - еще недостаточно обкатанный, могут быть сбои.
c Microsoft Office 2021 плохо что ли работает? Использую ваш шаблон и исходную таблицу из примера. При попытке сформировать документ, сформированный Приказ почему то начиная с какой то рандомной стоки запинается и начинает повторять ее до конца. Например "10 Ляшко Марат Наумович склад 400 ₽" повторяется 5 раз.
на Microsoft Office 2010 норм.
Здравствуйте, Елена
Скорее всего, неверно задан номер строки заголовка в настройках программы.
Если не разберётесь сами, напишите мне в телеграм, помогу найти проблему.
Добрый день! Нам нужно на основании данных с таблицы Excel сформировать направления в формате Word. Шаблоны настроила, но не получается настроить Excel. При нажатии на кнопку "Сормироваь документы", документ формируется, но внутри ничего е заполняется. В чем у меня ошибка?
Здравствуйте, Валерий.
Скиньте мне в телеграм файл шаблона, исходную таблицу Excel и пример созданного документа. Попробую подсказать в чем проблема.
Здравствуйте. При формировании в режиме Multirow word документа, формируется только одна страница документа, часть данных обрезается. Перенос на вторую страницу не происходит.
Смотрите второй параметр здесь:
https://excelvba.ru/programmes/FillDocuments/manuals/settings/TableTab
Добрый день, а как сформировать один документ, если между интересующими меня строка есть ненужные (допустим строки 1-3,6-7,10)
В Word нет возможности для такого подсчёта
Либо используйте шаблон Excel вместо шаблона Word, либо вычисляйте итоговое значение в отдельном столбце исходной таблицы Excel.
Добрый день. Замечательная надстройка!!! Подскажите, как в режиме MultiRow просчитать ИТОГО в одном столбце полученной в Word таблиы?
Добрый день как исправить следующие: если в ячейки формула он считает эту ячейку запиленной хотя она пустая и размножает пустую строку
а с формулами работает данная функция ? к примеру есть список
Купитман Иван Натанович
Кисегач Анастасия Константиновна
Черноус Варвара Николаевна
Быков Андрей Евгеньевич
Романенко Глеб Викторович
но данный список формируется за счет формул
=А1 (Купитман Иван Натанович)
=А2 Кисегач Анастасия Константиновна
=А3 Черноус Варвара Николаевна
=А4 Быков Андрей Евгеньевич
=А5 Романенко Глеб Викторович
=А6 пусто
=А7 пусто
Когда нажимаю сформировать документ он за место 5 строк создает 7 строк, видимо думает, что формула является запиленной ячейкой
как можно?
Владимир, за такую доработку не возьмусь (99% пользователей она не будет нужна, а работы очень много)
Здравствуйте, возможно-ли в режиме MultiRow предусмотреть дополнительные режимы (опыт по доработке у нас с вами имеется):
Множество CAD систем могут генерировать ведомости материалов в Excel, но "не только лишь все" делают это в соответствии с ГОСТ. Давайте поможем проектировщикам в формировании спецификаций и прочей табличной информации.
1. В форме надстройки добавить возможность множественного добавления строк Шапка с полями, для обработки переноса таблицы на новую страницу:
+ Автоинкримент. Порядковый номер шапки;
+ Строка. Значения. Где через знак & вводим зачения ячейки шапки в соответствии с количеством столбцов в шаблоне.
+ Чекбокс. НеЧетные; ЕСЛИ НеЧетные=1 повторяем вывод этой шапки на каждой первой строке не четной страницы ИНАЧЕ не выводим.
+ Чекбокс. Четные; ЕСЛИ Четные=1 повторяем вывод этой шапки на каждой первой строке четной страницы ИНАЧЕ не выводим.
Получаем возможность повторения шапок на добавленных страницах.
Вывод в шаблон предположительно так:{%head%/Порядковый номер шапки}
2. В форме надстройки добавить возможность множественного добавления строк фильтрации с полями:
+ Автоинкримент. Порядковый номер фильтра;
+ Выпадающий список. Вывод; Значения: Нет=0, Номер=1, Значение=2;
+ Числовое или выбор из списка. Номер колонки таблицы Excel;
Указывает колонку, по которой фильтруются строки Таблицы исходных данных.
ЕСЛИ Вывод=0 ничего не выводит в шаблон, ЕСЛИ Вывод=1 Порядковый номер фильтра, ИНАЧЕ значение поля фильтра. При помощи {Ячейка#} вывести необходимую доп. информацию из строки данных фильтра.
+ Строка. Значение; Явно задать значение фильтра.
+ Чекбокс. Пропускать; ЕСЛИ Пропускать=Пусто И Значение=Пусто, при отсутствии значения фильтра игнорировать текущий фильтр и переходить к следующему фильтру ЕСЛИ Пропускать=1 И Значение=НеПусто вывести Значение и перейти к следущему фильтру.
Вывод в шаблон предположительно так: {%filter%/Порядковый номер фильтра}.
3. Таблицы с фильтром по значению, по логике это схоже с работой "Формировать по каждому шаблону столько файлов, сколько уникальных значений содержится в столбце", но позволит в одном файле выводить несколько таблиц данные в которых отфильтрованы по полю. Либо собирать иерархическую структуру данных в одной таблице.
Вывод в шаблон предположительно так:{%index%/Порядковый номер фильтра}.
+ Чекбокс. По строкам. ЕСЛИ По Строкам=0 Все значение %index%{Поле#} в ячейку шаблона ИНАЧЕ Переносить каждую строку %index%{Поле#} в новую строку таблицы шаблона.
Кирилл, всё должно работать как вам надо. Две отдельные закладки с разными названиями. Видимо, вы назначаете закладку не абзацу целиком.
Добрый день!
Есть исходная таблица, в которой есть два столбца: ФИО продавца; ФИО покупателя.
В шаблоне Word, соответственно два абзаца: {ФИО продавца#}; {ФИО покупателя#}.
Есть случаи, когда и продавцов несколько, и покупателей тоже несколько. Как сделать так, чтобы и абзац {ФИО продавца#}, и абзац {ФИО покупателя#} размножались на несколько абзацев.
Если назначать этим абзацам закладки с одинаковым именем Multirow, то они вообще не размножаются на несколько абзацев, просто заполняется ФИО продавца. Тоже самое, если назначать этим абзацам разные закладки Multirow1, Multirow2 и т.д.
Если же назначить этим абзацам одну закладку Multirow, то абзацы размножаются, но они, конечно, чередуются. То есть:
1 абзац: ФИО продавца 1
2 абзац: ФИО покупателя 1
3 абзац: ФИО продавца 2
4 абзац: ФИО покупателя 2
А необходимо, чтобы сначала шли все продавцы, а потом все покупатели.
"А если написать {КодПоля#} - будет подставляться текст из разных строк" - в Word по какой-то причине не срабатывает, т.е. он копирует строки нужное кол-во раз, но при этом не вставляет значения из Excel построчно, а заполняет их значением {КодПоля#} как в шаблоне. Может быть такое, что Word может не считывать значок # в конце выражения
Здравствуйте. Пытаюсь приспособить надстройку для автоматического заполнения квитанций, но не добился результата. Исходные данные -шаблон Word с тремя полями для заполнения. Также файл Excel - таблица из трех столбцов и двух сотен строк с данными. Каждая строка должна формировать новую квитанцию. Сейчас надстройка формирует одну квитанцию и завершает работу. Необходимо, чтобы она формировала все квитанции по количеству строк и записывала либо в один многостраничный файл, либо записывала по одному файлу на каждую строку (менее удобно для печати)
Здравствуйте, Александр
Для файлов текстового формата (XML, TXT и подобных) режим Multirow не применим.
Игорь, добрый день!
А можно ли наполнять с помощью Multirow шаблон XML?
Высылайте мне на почту исходный файл Excel, и пример желаемого результата (после заполнения)
Не видя файлов, ничего определённого сказать не могу.
Возможно ли с помощью multirow заполнять шаблон ссылаясь на несколько листов?
Ясно. А как из word обратиться к данным на другом листе excel? или надстройка работает только с одним листом?
Такой возможности нет в программе (привязки к определенным строкам, - до какой сюда, после какой туда)
Таблицу исходную в Excel надо в другой вид привести (понятный программе) - тогда может получиться.
Есть одна таблица excel в ней постоянно меняется количество строк. Мне нужно в шаблон в wordе вставить таким образом, что бы допустим в таблице excel есть 15 строк. Из них 5 строк до определенной помещались в одну таблицу, а остальные 10 строк в другую. И изначальное количество строк тоже меняется. Можно ли так сделать? Или если нет, то как разбить таблицу на разных листах и при этом из wordа обратиться в шаблоне к другому листу
Надо добавить мой сайт ExcelVBA.ru и расширение .XLA в список исключений, - тогда съедать не будет.
Потом заново скачать и запустить.
перед запуском скачанного файла надстройки, необходимо выполнить следующее:
> найти скачанный файл надстройки в папке (обычно это папка «Загрузки»)
> щелкнуть правой кнопкой мыши на файле - Свойства - Разблокировать - ОК
> и только после этого запускать
Аваст "сожрал" надстройку. Говорит, VBA:Downloader-FGO (Trj)
Включил в безопасные, сожрал все равно. Как установить снова, и восстановить лицензию?
Вы можете использовать несколько меток multirow, в разных таблицах шаблона
(не уверен, что вам это нужно, - я не понял, что из чего вы хотите получить)
Multirow это то, что мне надо. Но скажите можно ли формировать несколько таблиц word разделив одну таблицу excel. Данные в таблице excel меняются, так что точное количество строк неизвестно.
Напишите мне в скайп, попробую помочь
я уже весь измучился не получается не как сделать все равно подставляет одно и тоже
Да вроде должно работать, в последней версии программы
Игорь, а Multirow с "Искать в шаблонах коды полей и заменять только найденные" не дружать?
В шаблонах Word - да, заполняет. В Excel - не помню, вроде не делал такого.
Доброго времени суток, подскажите пожалуйста, Ваша надстройка умеет заполнять Надпись (которую можно вставить в любом месте) в Экселе?
Здравствуйте, Михаил.
Программа заполняет только шаблоны Excel, Word и TXT.
Программа НЕ заполняет файлы других типов (ПДФ и подобное), - так что такого функционала нет, и не предвидится.
Здравствуйте! Будет ли реализована функция авто-заполнения текстовых полей PDF файла?
чтобы я смог помочь, от вас надо: http://ExcelVBA.ru/help
Так {sample#} пробовал тоже. Строка просто не размножается. Ставится первое значение из таблицы со значениями и все.
Если сами не разберетесь, - звоните в скайп, помогу.
Такого не должно быть в строке шаблона
там должно быть {sample#}
Тогда на место {sample#} (после размножения строки) подставятся значения из исходных выделенных строк.
Как я только не пробовал завести Multirow (настройки включил, столбец с данными в таблице выделил). Выделяю строку полностью стрелкой {sample#1}. Делаю закладку Multirow1. Пытался через добавления таблицы с 2 ячейками тоже не катит. Подскажите, пожалуйста, как заставить работать эту функцию на Office 2016 x64?
Нет, для шаблонов Word у меня нет такого функционала.
Используйте шаблон в формате Excel, - там всё получится:
http://excelvba.ru/programmes/FillDocuments/MultiRow/Group
Доброго времени! Скажите, а если надо вставить сумму (сама чтоб считала)в Ворд из выбранных строк Эксель. Такое возможно с этой функцией? Благодарю.
В инструкции описаны основные используемые коды полей:
http://excelvba.ru/programmes/FillDocuments/FieldCodes
Всё это, разумеется, относится только к моей надстройке.