Настройка имён создаваемых файлов

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

Для этого, в настройках на вкладке «Создание файлов» имеется поле «Маска для имен создаваемых файлов»:

Обратите внимание: у этого поля есть контекстное меню

При настройке маски, мы можем использовать все доступные коды полей, а также 3 специальных поля:

  •  {%filename%} — имя файла шаблона без расширения
  •  {%ext%} — расширение файла шаблона
  •  {%subfolder%} — подпапки (если шаблон находится не в самой папке ШАБЛОНЫ, а в одной из её подпапок)

По-умолчанию, в настройках программы задана маска {%str%} - {%filename%}.{%ext%}

Рассмотрим на примере, что обозначает каждый из 3 кодов в этой маске, и какие имена получат создаваемые файлы.

 

Предположим, что исходная таблица с данными у нас выглядит так:

ФИО Дата рождения ФИО сокр Номер договора Дата договора
Иванов Иван Иванович 09.02.1966 Иванов И.И. ОУ2011/1 01.12.2011
Купитман Иван Натанович 13.01.1970 Купитман И.Н. ОУ2011/3 03.12.2011
Кисегач Анастасия Константиновна 31.12.1971 Кисегач А.К. ОУ2011/4 04.12.2011
Черноус Варвара Николаевна 17.12.1973 Черноус В.Н. ОУ2011/5 05.12.2011
Быков Андрей Евгеньевич 04.12.1975 Быков А.Е. ОУ2011/6 06.12.2011

 

а в папке «ШАБЛОНЫ» у нас 3 файла:

  • Акт.doc
  • Приказ.doc
  • доверенность.xls

причем файл «доверенность.xls» находится в подпапке «разное»:

...\Шаблоны\Акт.doc
...\Шаблоны\Приказ.doc
...\Шаблоны\разное\доверенность.xls

 


При использовании маски имени файла {%str%} - {%filename%}.{%ext%},
имена получаемых файлов имеют следующий вид:

Маска имени файла Файл шаблона Имя созданного документа
Строка №2 (Иванов И.И.)    
{%str%} - {%filename%}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\2 - Акт.doc
...\Шаблоны\Приказ.doc ...\Документы\2 - Приказ.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\2 - доверенность.xls
Строка №3 (Купитман И.Н.)    
{%str%} - {%filename%}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\3 - Акт.doc
...\Шаблоны\Приказ.doc ...\Документы\3 - Приказ.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\3 - доверенность.xls

 

Как видите, код {%str%} заменяется на порядковый номер исходной строки на листе.

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

 


Чтобы в имена создаваемых файлов попала фамилия сотрудника,
можно применить, например, маску {%filename%} - {ФИО сокр}.{%ext%}:

Маска имени файла Имя файла-шаблона Имя файла созданного документа
Строка №2 (Иванов И.И.)    
{%filename%} - {ФИО сокр}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\Акт - Иванов И.И..doc
...\Шаблоны\Приказ.doc ...\Документы\Приказ - Иванов И.И..doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\доверенность - Иванов И.И..xls
Строка №3 (Купитман И.Н.)    
{%filename%} - {ФИО сокр}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\Акт - Купитман И.Н..doc
...\Шаблоны\Приказ.doc ...\Документы\Приказ - Купитман И.Н..doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\доверенность - Купитман И.Н..xls

 

или маску {ФИО}\{%filename%}.{%ext%}

Маска имени файла Имя файла-шаблона Имя файла созданного документа
Строка №2 (Иванов И.И.)    
{ФИО}\{%filename%}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\Иванов Иван Иванович\Акт.doc
...\Шаблоны\Приказ.doc ...\Документы\Иванов Иван Иванович\Приказ.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\Иванов Иван Иванович\доверенность.xls
Строка №3 (Купитман И.Н.)    
{ФИО}\{%filename%}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\Купитман Иван Натанович\Акт.doc
...\Шаблоны\Приказ.doc ...\Документы\Купитман Иван Натанович\Приказ.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\Купитман Иван Натанович\доверенность.xls

 

Обратите внимание на обратный слеш (\) после кода {ФИО} - это позволяет создать подпапку,
имя которой соответствует тексту из заданного столбца.

В нашем примере, для каждого сотрудника в папке «Документы» была создана отдельная подпапка.

 

Таких слешей может быть сколько угодно, — например, ничто не мешает использовать маску типа {%date%}\{%filename%}\{ФИО}.{%ext%}

Маска имени файла Имя файла-шаблона Имя файла созданного документа
Строка №2 (Иванов И.И.)    
{%date%}\{%filename%}\{ФИО}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\2013-01-21\Акт\Иванов Иван Иванович.doc
...\Шаблоны\Приказ.doc ...\Документы\2013-01-21\Приказ\Иванов Иван Иванович.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\2013-01-21\доверенность\Иванов Иван Иванович.xls
Строка №3 (Купитман И.Н.)    
{%date%}\{%filename%}\{ФИО}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\2013-01-21\Акт\Купитман Иван Натанович.doc
...\Шаблоны\Приказ.doc ...\Документы\2013-01-21\Приказ\Купитман Иван Натанович.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\2013-01-21\доверенность\Купитман Иван Натанович.xls

 

Таким образом, мы сгруппировали созданные файлы по дате создания (заполнения), а внутри папки (за текущую дату) - по типу документа (акт, приказ, и т.д.)

ДОБАВЛЕНО в феврале 2021:
Если надо группировать созданные файлы в папке сначала по полю (например, по фамилии), и уже внутри этих папок создавать подпапки (как они созданы в папке ШАБЛОНЫ), то можно применить в маске имени файла специальный подстановочный код {%subfolder%}:

Рассмотрим вариант с маской имени файла {ФИО}\{%subfolder%}\{%filename%}.{%ext%}

Маска имени файла Имя файла-шаблона Имя файла созданного документа
Строка №2 (Иванов И.И.)    
{ФИО}\{%subfolder%}\{%filename%}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\Иванов Иван Иванович\Акт.doc
...\Шаблоны\приказы\Приказ.doc ...\Документы\Иванов Иван Иванович\приказы\Приказ.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\Иванов Иван Иванович\разное\доверенность.xls
Строка №3 (Купитман И.Н.)    
{ФИО}\{%subfolder%}\{%filename%}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\Купитман Иван Натанович\Акт.doc
...\Шаблоны\приказы\Приказ.doc ...\Документы\Купитман Иван Натанович\приказы\Приказ.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\Купитман Иван Натанович\разное\доверенность.xls

 

 


Можно в маске имени файла использовать сразу несколько доступных кодов полей:

Маска имени файла Файл шаблона Имя созданного документа
Строка №2 (Иванов И.И.)    
{ФИО сокр} (по договору {Номер договора}) {%filename%}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\Иванов И.И. (по договору ОУ2011_1) Акт.doc
...\Шаблоны\Приказ.doc ...\Документы\Иванов И.И. (по договору ОУ2011_1) Приказ.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\Иванов И.И. (по договору ОУ2011_1) доверенность.xls
Строка №3 (Купитман И.Н.)    
{ФИО сокр} (по договору {Номер договора}) {%filename%}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\Купитман И.Н. (по договору ОУ2011_3) Акт.doc
...\Шаблоны\Приказ.doc ...\Документы\Купитман И.Н. (по договору ОУ2011_3) Приказ.doc
...\Шаблоны\разное\доверенность.xls ...\Документы\разное\Купитман И.Н. (по договору ОУ2011_3) доверенность.xls

 


 

Можно добавлять данные из исходной таблицы Excel в имена отдельно выбранных файлов,
прописав коды полей прямо в именах файлов-шаблонов.

 

Для примера, переименуем наши шаблоны следующим образом:

  • Счёт ({ФИО сокр}) на {сумма договора} рублей.doc
  • доверенность - {ФИО}.xls
  • Договор {Номер договора} от {Дата договора}.doc

 

В этом случае, мы можем использовать простейшую маску имени файла {%filename%}.{%ext%}

Маска имени файла Файл шаблона Имя созданного документа
Строка №2 (Иванов И.И.)    
{%filename%}.{%ext%} ...\Шаблоны\доверенность - {ФИО}.xls ...\Документы\доверенность - Иванов Иван Иванович.xls
...\Шаблоны\Договор {Номер договора} от {Дата договора}.doc ...\Документы\Договор ОУ2011_1 от 01.12.2011.doc
...\Шаблоны\Счёт ({ФИО сокр}) на {сумма договора} рублей.doc ...\Документы\Счёт (Иванов И.И.) на 300,00 рублей.doc
Строка №3 (Купитман И.Н.)    
{%filename%}.{%ext%} ...\Шаблоны\доверенность - {ФИО}.xls ...\Документы\доверенность - Купитман Иван Натанович.xls
...\Шаблоны\Договор {Номер договора} от {Дата договора}.doc ...\Документы\Договор ОУ2011_3 от 03.12.2011.doc
...\Шаблоны\Счёт ({ФИО сокр}) на {сумма договора} рублей.doc ...\Документы\Счёт (Купитман И.Н.) на 320,30 рублей.doc

 

или же, комбинировать оба способа:

Маска имени файла Файл шаблона Имя созданного документа
Строка №2 (Иванов И.И.)    
{ФИО сокр} - {%filename%}.{%ext%} ...\Шаблоны\доверенность.xls ...\Документы\Иванов И.И. - доверенность.xls
...\Шаблоны\Договор {Номер договора}{print=2}.doc ...\Документы\Иванов И.И. - Договор ОУ2011_1.doc
...\Шаблоны\Счёт ({сумма договора} руб.).doc ...\Документы\Иванов И.И. - Счёт ( 300,00 руб.).doc
Строка №3 (Купитман И.Н.)    
{ФИО сокр} - {%filename%}.{%ext%} ...\Шаблоны\доверенность.xls ...\Документы\Купитман И.Н. - доверенность.xls
...\Шаблоны\Договор {Номер договора}{print=2}.doc ...\Документы\Купитман И.Н. - Договор ОУ2011_3.doc
...\Шаблоны\Счёт ({сумма договора} руб.).doc ...\Документы\Купитман И.Н. - Счёт ( 320,30 руб.).doc

 

В последнем примере, мы применили маску {ФИО сокр} - {%filename%}.{%ext%},
а имена файлов-шаблонов были такими:

  • доверенность.xls
  • Договор {Номер договора}{print=2}.doc
  • Счёт ({сумма договора} руб.).doc

 

Обратите внимание на код {print=2} в имени файла шаблона — он позволяет указать, в скольки экземплярах надо выводить на печать тот или иной документ.

Кроме того, при помощи кода {PDF} в имени шаблона можно выводить в формате PDF не все документы, а только некоторые.

Комментарии

Здравствуйте, Игорь, благодарю Вас за этот замечательный инструмент, я в восторге от сэкономленного времени в результате использования надстройки. Есть вопрос по настройке имён создаваемых файлов, а именно: у меня есть несколько разноплановых таблиц в разных направлениях - кадры, договоры с юрлицами, сметы. Я создала необходимые шаблоны по одному направлению (трудовые договоры и допсоглашения), все работает на ура! Однако, при настройке шаблонов контрактов, смет, актов, настройки первой таблицы сбиваются. Есть ли возможность для каждого файла сохранить индивидуальные настройки имён создаваемых файлов?

Не открываются из папки? Или при клике на всплывающем уведомлении?
Откройте папку, и открывайте двойным щелчком на файле. А из уведомления - там может не работать.

Добрый день. хочу чтобы документы распределялись по папкам. в поле "Формировать имена создаваемых файлов по маске" пишу имя в формате {название папки}/{название файла}.{%ext%} - в итоге файлы создаются раскиданные по папкам, но не открываются - пишет неправильный путь. Можно что-то сделать? или я делаю что-то не так?

Здравствуйте, Владимир.
Я бы наверняка уже добавил бы что-подобное, но увы, - в составе Windows и Office (по крайней мере, по состоянию на несколько лет назад) нет инструментов для работы с ПДФ (например, для склейки нескольких файлов в один ПДФ).
Да, для этого есть сторонние приложения, их можно установить и с их помощью реализовать.
Пока от других пользователей подобных запросов не поступало, потому я ничего подобного не пытался реализовать.
Там доработка непростая, кучу разных опций в настройках нужно будет делать.
Такую доработку могу сделать либо за деньги (недешево), либо если несколько покупателей выскажутся о необходимости подобного функционала.

Здравствуйте, Игорь.
Не давно приобрёл лицензию и получил первый положительный опыт. Но вот есть моменты, которых явно не хватает в Вашем продукте и которые, на мой взгляд, существенно повысит популярность за расширенный функционал. Например, Ваш продукт создаёт отдельные документы из шаблонов, размещённых в одноимённую папку. Но часто бывает необходимость создавать «Пакет» документов и «Комплект» из документов. Поясню на примере:
1. Функционал «Пакет» позволил бы объединять несколько файлов в один документ (чаще всего PDF) с общим названием. Например, это нужно для отправки актов, счётов, фактур и т.п. через ЭДО единым документом, чтобы сэкономить на оплате. При этом документы формата PDF могут формироваться из разных источниках (1С, сканер, получен от третьих лиц) но «склейка» (объединение/ merge) в «Пакет» приобретёт ценность для бухгалтеров, менеджеров, секретарей… которые оправляют письма с презентацией, бланками, билетами и прочим, что просто присоединяется к одному из документу, созданному в FillDocuments (например, сопроводительному письму) и как в «контейнере» содержат все свои части.
2. Функционал «Комплект» помог бы связывать в РАЗНОРОДНЫЕ документы (формат JPG, TIFF, PDF и т.д.) в одном пространстве. Например, юристам нужно перечислить в «сопроводиловке» поименовано все документы и чаще их ещё предварительно НУМЕРОВАТЬ, чтобы суд или другой корреспондент точно отождествит документы по описи. Случаи, когда получателю направляют обращение и указывать «Приложениями» другие документы – множество. Программа FillDocuments могла бы предварительно собирать такие документы в одном месте (из разных мест), нумеровать (или переименовать в «приложение №ХХХ) чтобы пользователь получил их не только в одной папке, но и в исходящем документе (сопроводиловке) был полный перечень дополнительных материалов. На вскидку, это может быть нужно архитекторам, страховщикам, банкирам, адвокатам, логисты и другим «белым воротничкам».

Александр, здесь написано что можно брать только значения из ИМЕНОВАННЫХ ЯЧЕЕК
https://excelvba.ru/programmes/FillDocuments/manuals/templates/FieldCodes
Присвойте этой ячейке B2 любое имя, и должно всё заработать.

Здравствуйте! При формировании документов и "раскладыванию" их по подпапкам столкнулся с такой ситуацией. Если путь указывается в формате {ФИО сокр}\{%filename%}.{%ext%} - все нормально. Если в качестве имени папки брать адрес ячейки, то папка формируется с именем = этому адресу, а не значению: {=B2}\{%filename%}.{%ext%}. Значит ли это, что использовать единичные ячейки в качестве имени папки\файла нельзя? Спасибо.