Скрипт предназначен для автоматизации случая, когда требуется создание одинаковых документов MS Word с отличающимися реквизитами. Например договоры или акты выполненных работ и приложения к ним.
Для исключения рутинной операции замены в таких файлах отдельных реквизитов все подобные значения выносятся в файл параметров и изменяются в нём.
Данный скрипт форммирует пакет документов на основе заранее созданных .docx шаблонов, заполняя эти шаблоны из файла с данными для подстановки.
Скачать архив со скриптом, по ссылке последняя версия скрипта
Распаковать полученный архив в отдельный каталог
Пример .docx шабонов находится в каталоге template
Пример файла данных находится в каталоге 2021.01
Файлы шаблонов и файл подставляемых данных рекомендую хранить в отдельном каталоге. Перед формированием файлов необходимо скопировать файл данных в отдельный каталог, заполнить необходимые значения переменных и запустить скрипт на выполнение.
В каталоге 2021.01 выполнить команду
powershell.exe -ExecutionPolicy Bypass -File ..\DocTempl.ps1 РогаИКопыта-Иванов.txt
где
- powershell.exe - интерпретатор языка PowerShell (установлен в последних версиях Windows)
- DocTempl.ps1 - скрипт для формирования документов
- РогаИКопыта-Иванов.txt - файл с данными переносимыми в шаблоны документов
После выполнения скрипта в нём будут созданы три файла
ИП Иванов И.В._ФабрикаАБВГД_Январь 2021 г._Акт сдачи-приемки оказанных услуг № 777.docx
ИП Иванов И.В._ФабрикаАБВГД_Январь 2021 г._Заявка на услуги № Ф-123.docx
ИП Иванов И.В._ФабрикаАБВГД_Январь 2021 г._Отчёт об оказанных услугах № Ф-123.docx
В каталоге 2021.01 находится пример файла
Файл данных состоит из двух секций
Cодержит список обрабатываемых шаблонов, в каждой строке секции указывается путь и имя файла шаблона. Имена файлов могу содержать переменные, которые при сохранении будут заменены значениями из секции [Поля].
Cодержит список полей с данными, которые будут подставленны в поля шаблонов из первой секции В этой секции имена переменных отделены от значения символом =
Примеры шаблонов расположены в каталоге template. Для того чтобы разобраться с там как формировать шаблоны, откройте любой .docx файл из этого каталога и нажмите клавиши Alt+F9.
В docx файлах в необходимые места вставляются поля с типом "DocVariable", которым задаются имена. Скрипт выберет из файла данных имена переменных и заполнит их значения в каждом указанном шаблоне.
Вставку можно выполнить с помощью пункта меню
Переключение между режимом отображения кодов полей и их представлением выполняется с помощью клавиш Alt+F9
Режим представления значений полей (нормальный режим)