mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!

Использование маски имени файла при создании документов по шаблонам

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

 

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

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

При настройке маски, мы можем использовать все доступные коды полей,
а также 2 специальных поля: {%filename%} и {%ext%},
которые обозначают имя файла и расширение файла соответственно.

 

По-умолчанию, в настройках программы задана маска {%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
{%str%} - {%filename%}.{%ext%} ...\Шаблоны\Приказ.doc ...\Документы\2 - Приказ.doc
{%str%} - {%filename%}.{%ext%} ...\Шаблоны\разное\доверенность.xls ...\Документы\разное\2 - доверенность.xls
Строка №3 (Купитман И.Н.)    
{%str%} - {%filename%}.{%ext%} ...\Шаблоны\Акт.doc ...\Документы\3 - Акт.doc
{%str%} - {%filename%}.{%ext%} ...\Шаблоны\Приказ.doc ...\Документы\3 - Приказ.doc
{%str%} - {%filename%}.{%ext%} ...\Шаблоны\разное\доверенность.xls ...\Документы\разное\3 - доверенность.xls

 

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

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

 


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

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

 

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

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

 

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

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

 

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

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

 

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

 


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

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

 


 

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

 

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

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

 

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

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

 

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

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

 

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

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

 

Обратите внимание на код поля {print=2} - это служебное поле, в имя создаваемого файла оно не попадает.

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

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

Используя код {print=x} (где x - целое число), можно указать программе количество печатных копий для отдельных файлов-шаблонов.