Как автоматически заполнять договора

Обновлено: 07.07.2024

Столкнулся с тем, что все инструкции связаны со сложной автоматизацией с использованием кучи каких-то файлов, экселя и его таблиц, связей документов и так далее. Всё можно сделать гораздо проще!

Автозаполнение документа или договора Word Без Excel – как это сделать?

Сколько же я намучался, забивая запросы типа “как сделать автозаполнение word без экселя” или “заполнение документа значением поля” или “word значение поля в текст автоматически“. На самом деле всё оказалось не так сложно, как я изначально предполагал.

Да, можно делать очень полезные связки документов, когда мы заполняем эксель, а потом у нас шаблон ворда из него берет информацию. Но объяснить какому-нибудь муниципальному сотруднику как это делать – задача практически невозможная.

Так вот, всё что нам потребуется – это Microsoft Word Документ. В нем мы создадим поля, настроим страницы и всё будет автоматически наполняться.

Инструкция как сделать автозаполнение документа Word из полей

Для примера возьму документ договора, где есть заказчик, исполнитель, дата документа и сумма договора, которые мы хотим подставлять из полей.

Пример документа с автозаполнением из полей делаю в microsoft office word 2019.

  1. Формат документа DOCM.
    Создаем новый документ и сохраняем его в формате docm (Документ Word с поддержкой макросов).
  2. Вкладка “Разработчик”.
    Файл – Параметры – Настроить ленту. В выпадающем списке выбираем “Основные команды”, затем выделяем ниже строчку “Разработчик”, и по середине жмем “Добавить”. Справа появляется “разработчик” с плюсиком, жмем Ок, и видим, что теперь вверху есть вкладка “Разработчик”.
  3. Делаем страницу с полями для ввода данных документа (договора).
    Кликаю в начале договора, жму вставка – разрыв страницы, и в итоге у меня пустая первая страница.
    На ней создаю табличку, это не обязательно, и начинаю там создавать поля. Делаем страницу с полями для ввода данных
  4. Создаём поля для ввода текста для автозаполнения документа.
    Кликаем в любое место документа, где нам нужно поле.
    Переходим во вкладку Разработчик. Вставляем не просто текстовое поле, а именно СТАРОЕ текстовое поле.
    То есть выбираем там уже иконку “Инструменты из предыдущих версий”, затем “Поле (элемент управления формы)”.
    И вставляем куда нам нужно.
  5. Настраиваем поля Word для автозаполнения.
    Когда поле есть на странице, жмем по нему правой кнопкой и во всплывающем меню выбираем “Свойства” (поля).

    Настраиваем обязательно следующие параметры поля:
    - Текст по-умолчанию: тут свой текст.
    - Закладка: на английском, уникальный идентификатор поля. Придумайте что-нибудь понятное, это нам пригодится далее.
    - Ставим галочки (чек-боксы) “разрешить изменения” и “вычислить при выходе”.
    В данном примере я создал текстовое поле, в котором будет Дата договора (по сути это любой текст). Мне главное, чтобы я в одном месте ввел данные, а в других местах документа текст из поля автоматически заполнился. И в данном случае это будет то, что я назвал датой.
  6. Настраиваем подстановку текста из поля в документ.
    ЕСТЬ ДВА СПОСОБА: ВРУЧНУЮ СОВСЕМ, И ЧЕРЕЗ СВОЙСТВА ПОЛЕЙ.
    Разберем первый способ: вставка текста из поля в документ через закладку ctrl+f9.
    Для этого выбираем место, где у нас должно подставиться значение поля. Мы помним, что в нашем случае уникальный идентификатор (название закладки) в примере: POLEDATE.
    В этом месте кликаем мышкой левой кнопкой (просто чтобы там курсор мигал), затем на клавиатуре нажимаем сочетание клавиш Ctrl+F9 (контрол плюс эф девять).
    Видим, что появились фигурные скобки с серым фоном, и мы можем внутри печатать.

    Печатаем внутри следующее: REF POLEDATE.
    Поясняю: внутри фигурных скобочек, должно быть три буквы заглавных REF, затем пробел, затем то как мы назвали закладку (идентификатор поля). В нашем случае это POLEDATE, а может быть что угодно.
    Больше ничего жать не нужно, можно убрать оттуда курсор.
    Вот как это выглядит в итоге:

    Второй способ: вставка значения поля из другого поля автоматически через закладку REF.
    Это практически тоже самое, только не нужно нажимать ничего на клавиатуре. По мне так, дольше, но вдруг вам там понятнее.
    Так же создаем поле, в этом примере возьму сумму договора. При создании поля (см. п. 5) я ввел название закладки поля (уникальный идентификатор) pole_stoimost.

    Только теперь, когда мы нажали в место документа, куда хотим подставить данные автоматически (курсор там мигает), мы вставляем поле.
    Выбираем вкладку “Вставка”, затем “Экспресс-блоки”, затем “Поле” (как на скриншоте ниже):

    Это поле нужно настроить так, чтобы в него подставлялось значение другого поля автоматически.
    При вставке поля из экспресс-блоков, или когда вы потом можете нажать правой кнопкой Свойства поля, настраиваем так.
    Слева выбираем тип поля “Ref”, и дальше выбираем название нашей закладки, т.е. идентификатор поля, откуда надо подставить текст. В нашем случае это pole_stoimost:

    (вот кстати выше видно на скриншоте еще ошибку “Ошибка! Источник ссылки не найден.” – это происходит, когда вы ввели REF Несуществующая закладка, например. То есть не найдено поле (закладка) с тем идентификатором уникальным. И надо просто проверить свойства полей.).
    Короче, так или иначе, подытожу:
    - Создали поле через Разработчика.
    - У него в свойствах прописали уникальный идентификатор (название закладки).
    - Вставили через CTRL+F9 или экспресс блоки – поле (место) куда будет подстваляться текст из первого поля, указав такой же идентификатор.
  7. Автозаполнения документа значением из полей через F9 или печать документа.
    Ну.. тут уже все понятно должно быть – насоздавали полей сколько нужно, поставляли в места куда нужно.
    По-умолчанию, Word будет автозаполнять документ автоматически, если весь документ выделить (ctrl+a например) и нажать кнопку F9.
    Места с REF и полями преобразуются в то, что есть в оригинальном поле-закладке.
    Но есть трудность – сложно объяснить людям как это работает, что выделять и как обновлять эти поля.
    Я выбрал способ попроще – чтобы поля автоматически обновлялись при печати (печатать почти все умеют как).
    Лезем в настройки (файл – параметры), там выбираем “Экран” и отмечаем галочку “Обновлять поля перед печатью”.

    Теперь, каждый раз когда через Файл – Печать или Ctrl+P будет печататься документ – поля будут обновляться (текст автоматически подставляться), т.е. тоже самое что через выделение документа и нажатие F9.
  8. Наводим красоту: запрет редактирования, номера страниц.
    Ну и еще два момента. Во-первых, документы пронумерованы обычно. И основная проблема – что страница с полями тоже печатается, а в официальном документе её быть не должно.
    Соответственно, способа убрать страницу word из печати автоматически я не нашел. Поэтому, выкрутился по-другому.
    Через настройки колонтитула (несколько кликов по нижней части документа (или где там у вас номера страниц)), переходим в свойства, номера страниц, и там выбираем начать с “0″, с нуля короче.

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

    Сделал просто – Рецензирование – Ограничить редактирование – Да, включить защиту, ну и пароль 1.
    Отключается так же, только не все видят – там внизу кнопка становится “отключить защиту”.

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

Word для Microsoft 365 Word для Microsoft 365 для Mac Word 2021 Word 2021 for Mac Word 2019 Word 2019 для Mac Word 2016 Word 2016 для Mac Word 2013 Word 2010 Word для Mac 2011 Больше. Основные параметры

Чтобы создать в Word форму, которую смогут заполнять другие люди, начните с шаблона или документа и добавьте элементы управления содержимым. К таким элементам относятся, например, флажки, текстовые поля, элементы выбора даты и раскрывающиеся списки. Если вы знакомы с базами данных, вы можете даже связывать элементы управления содержимым с данными.

Отображение вкладки "Разработчик"

Если вкладка "Разработчик" не отображается на ленте, см. отображение вкладки "Разработчик".

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

Чтобы сэкономить время, начните с шаблона формы или начните с нуля с пустого шаблона.

Перейдите в папку >файл.

В области Поиск шаблонов в Интернетевведите Forms или тип формы и нажмите ввод.

Перейдите в папку >файл.

Выберите Пустой документ.

Добавление содержимого в форму

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

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

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

Щелкните или коснитесь того места, куда вы хотите вставить нужный контроль.

Выберите Разработчик >содержимого СОДЕРЖИМОГО или Обычный текст, .

Чтобы настроить определенные свойства для элементов управления, см. настройка и изменение свойств элементов управления содержимым.

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

Щелкните или коснитесь того места, куда вы хотите вставить нужный контроль.

Кнопка

Выберите Developer >Picture Content Control .

Чтобы настроить определенные свойства для элементов управления, см. настройка и изменение свойств элементов управления содержимым.

Используйте стандартные блоки, когда хотите предоставить пользователям возможность выбрать определенный блок текста. Например, элементы управления созданием блоков полезны, если вам нужно добавить другой шаблон в зависимости от конкретных требований договора. Вы можете создать для каждого варианта элемент управления содержимым "форматированный текст" и поместить их все в элемент управления "стандартный блок", который будет служить контейнером.

Щелкните или коснитесь того места, куда вы хотите вставить нужный контроль.

Элемент управления

Перейдите на веб-странице"Управлениесодержимым коллекции (или "Управление содержимым "building block").

Выберите Разработчик и элементы управления содержимым для этого блока.

Вкладка

Щелкните или коснитесь того места, куда вы хотите вставить нужный контроль.

Чтобы настроить определенные свойства для элементов управления, см. настройка и изменение свойств элементов управления содержимым.

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

Перейдите в >со списком для разработчиков или Управление содержимым в .

Выберите объект управления содержимым, а затем выберите Свойства.

Чтобы создать список вариантов, выберите Добавить в списке Свойства списка.

Введите вариант в области Отображаемого имени,например Да,Нетили Возможно.

Повторяйте этот шаг до тех пор, пока все нужные вам значения не окажутся в раскрывающемся списке.

При необходимости задайте остальные свойства.

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

Щелкните или коснитесь того места, куда вы хотите вставить кнопку "Выбор даты".

Кнопка

Выберите Developer >Date Picker Content Control .

Чтобы настроить определенные свойства для элементов управления, см. настройка и изменение свойств элементов управления содержимым.

Щелкните или коснитесь того места, куда вы хотите вставить поле с кнопкой "квадрат".

Чтобы настроить определенные свойства для элементов управления, см. настройка и изменение свойств элементов управления содержимым.

Элементы управления устаревшими формами можно использовать для совместимости с более старыми версиями Word и состоят из устаревших форм и элементов Active X.

Щелкните или коснитесь того места, куда вы хотите вставить устаревший контроль.

Кнопка устаревшего управления

Перейдите в > в формы.

Выберите нужный элемент управления в разделе Формы предыдущих версий или Элементы ActiveX.

Настройка и изменение свойств элементов управления содержимым

У каждого элемента управления содержимым есть параметры, которые можно установить или изменить. Например, для элемента управления "Выбор даты" вы можете выбрать различные форматы отображения даты.

Выберите содержимое, которое вы хотите изменить.

Перейдите в >для разработчиков.

Кнопка

Измените нужные свойства.

Защита формы

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

Откройте форму, которую хотите заблокировать или защитить.

Выберите Разработчик >ограничить редактирование.

Кнопка

После выбора ограничений выберите Да, Начать защиту.

Дополнительный совет:

Если вы хотите защитить только части документа, разделите его на разделы и защитите только нужные разделы.

Для этого в области "Ограничить редактирование" выберите "Выбор разделов". Дополнительные сведения о разделах см. в статье Вставка разрыва раздела.

Область выбора разделов на панели разделов resrict

Отображение вкладки "Разработчик"

Если вкладка "Разработчик" не отображается на ленте, см. отображение вкладки "Разработчик".

Открытие шаблона или использование пустого документа

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

Выберите Файл > Создание из шаблона.

Параметр

В области Поиск введите форма.

Дважды щелкните нужный шаблон.

Выберите файл > Сохранить каки уберите расположение для сохранения формы.

В оке Сохранитькак введите имя файла и выберите Сохранить.

Перейдите в папку > новый документ.

Параметр

Выберите Файл > Сохранить как.

В оке Сохранитькак введите имя файла и выберите Сохранить.

Добавление содержимого в форму

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

В документе щелкните или коснитесь того места, куда вы хотите добавить управление содержимым.

На сайтеразработчика выберите Текстовое поле,Поле сополем или Поле со полем со полем со полем.

Вкладка

Чтобы настроить определенные свойства для этого параметра, выберите Параметрыи установите .

Повторите шаги 1–3 для каждого из элементов управления, который хотите добавить.

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

Настройка общих свойств.

Чтобы выбрать макрос для запуска, можно выбрать записанный или настраиваемый макрос, который будет запускаться при вводе или выходе из поля.

Закладка Указать уникальное имя или закладку для каждого из них.

Вычисления при выходе В результате Word будет запускать или обновлять любые вычисления, например общую цену при выходе пользователя из поля.

Добавление текста справки Подайте подсказки или инструкции для каждого поля.

ОК Сохранение параметров и выход из панели.

Отмена Забудет об изменениях и выход из панели.

Настройка определенных свойств для текстового окна

Тип Выберите форму Обычный текст, Число, Дата, Текущая дата, Текущее время или Вычисление.

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

Максимальная длина задает длину текста, который пользователь может ввести. Значение по умолчанию — Unlimited.

В текстовом формате можно настроить автоматическое форматирование текста на "Все буквы", "Нижний регистр", "Первая строчная" или "Заголовок".

Текстовое поле включено Позволяет пользователю вводить текст в поле. Если есть текст по умолчанию, пользовательский текст заменяет его.

Установите определенные свойства для квадрата.

Значение по умолчанию Выберите значение Не проверено илине по умолчанию.

Размер чека Замерять размер точно или автоматически, чтобы при необходимости изменить его.

Включена проверка Позволяет пользователю проверить или очистить текстовое поле.

Настройка определенных свойств для полей со множеством

Drop-down item Введите строки для элементов списка. Нажмите +или ВВОД, чтобы добавить элемент в список.

Элементы в списке Отображает текущий список. Выберите элемент и с помощью стрелок вверх или вниз измените порядок, нажмите — для удаления выбранного элемента.

Drop-down enabled Позволяет пользователю открыть поле со полем и выбрать его.

Перейдите в >формы разработчика.

Кнопка

Примечание: Чтобы отоградить форму и продолжить редактирование, еще раз выберите Защитить форму.

Сохраните и закройте форму.

При необходимости вы можете проверить форму, прежде чем распространять ее.

Откройте форму еще раз, заполните ее обычным способом и сохраните как копию.

Отображение вкладки "Разработчик"

В правой части ленты выберите , а затем выберите Параметры ленты.

В области Настройка выберитеРазработчик .

Открытие шаблона или документа, на основе которого создается форма

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

Выберите Файл > Создание из шаблона.

В левой области разорите список Шаблоны из Интернетаи выберите Forms.

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

Добавление элементов управления содержимым в форму

В документе щелкните место, куда нужно добавить элемент управления содержимым.

На вкладке Разработчик в области Элементы управления формывыберите Текстовые поле,Квадратили Поле со полем со полем.

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

Примечание: Чтобы составить раскрывающийся список для поля со списком, выберите заполнитель поля, щелкните Параметры и добавьте в список нужные пункты.

Повторите шаги 1–3 для каждого из элементов управления, который хотите добавить.

Добавление учебного текста (необязательно)

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

Выберите текстовое поле, в которое вы хотите добавить учебный текст.

На вкладке Разработчик в области Элементы управления формывыберите Параметры.

В тексте по умолчаниювведите инструкции.

Убедитесь, что выбрана включенная заливка, а затем выберите ОК.

Защита формы

На вкладке Разработчик в области Элементы управления формывыберите Защитить форму.

Примечание: Чтобы снять защиту формы и продолжить редактирование, щелкните Защита формы еще раз.

Сохраните и закройте форму.

Проверка формы (необязательно)

При необходимости вы можете проверить форму, прежде чем распространять ее.

Откройте форму еще раз, заполните ее обычным способом и сохраните как копию.

Создание заполняемых форм невозможно в Word в Интернете.

Форму можно создать в версии Word для настольных компьютеров с помощью инструкций в области Создание заполняемой формы.

Когда вы сохраните документ и откроете его в Word в Интернете, вы увидите внесенные изменения.

Рассмотрим пример простой программы на Python с помощью библотекы docx для автоматизации рабочего процесса, а именно автоматической вставки файлов (в данном случае изображений) и их подпись в документах Word (docx).

Данная статья будет интересна для начинающих изучающих Python, а также полезна для тех кто работает с большими объемами изображений, графиков, осциллограмм и тому подобное. В ней мы рассмотрим простой и удобный способ вставки изображений в Word и их подписью с помощью Python.

Я опишу свой максимально дубовый и непрофессиональный но простой код который Вы сможете повторить в своих проектах. (Полный код в низу статьи).

В жизни каждого инженера или аналитика или другого специалиста, наступает момент, когда нужно оформлять отчет. Часто это осциллограммы, графики, ВАХ или другие графические изображения. Отчет нужно оформить в вордовском файле, с приведением изображений и их подписью. Делать вручную это очень увлекательно и интересно долго, неэффективно, скучно и другие синонимы к етим словам.

Рассмотрим простой способ вставки изображений и их подписью в файл docx с помощью Python.

Начало написания программы

Сначала нам нужно добавить библиотеку docx для работы с файлами Word.

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

Далее добавим объект doc из библиотеки и укажем путь к файлу с названием документа.

Формируем последовательность вставки файлов

Исходя из названия файлов (изображений) нам нужно определить в какой последовательности мы будем вставлять изображения в Word.
В моем случае ето: Test_number1_Outside_humidity_10_Outside_temperature_25. Отличие в названии файлов есть в числах возле названия параметра (их мы и будем менять в коде для автоматического заполнения файла).
Создаем массивы с значениями этих чисел:

Основная часть программы

После того как мы разобрались с тем, как мы будем идентифицировать изображение для последующей вставки, нам необходимо определиться в порядке в котором будут идти изображения. У меня все картинки будут идти в таком порядке: test_number, outside_humidity, outside_temperature. Вы же можете сделать произвольный порядок.

Для этой реализации используем цикл for , который будет перебирать все значение из массива по очереди.

Далее стандартными средствами библиотеки добавляем картинки в файл и создаем подписи.
doc.add_picture - добавляет изображения в файл Word
folder_png - это путь к папке которую мы указывали вверху кода
После этого мы указываем точное название файлов в папке, но вместо значений которые меняются вставляем в фигурные скобки.
В функции .format указываем те значения переменных которые меняются в каждом файле и которые мы внесли в цикле for . Эти значения будут применяться к каждому файлу, где мы указывали фигурные скобки (в той же последовательности).

Для подписи файла используем такой же алгоритм.
doc.add_paragraph - используем для записи параграфу
doc.add_paragraph(" ") - делаем отступ

Меняем параметры изображения

Изображение будем вставлять размером 13.33 х 10 см, для этого воспользуемся дополнительными возможностями библиотеки docx.
Сначала напишем функцию которая будет конвертировать размер с inch в см.

Теперь добавим данные параметры к основному коду:

Результат

В данной папке находится 180 изображений:


После запуска кода с помощью Python, в течение 5 секунд мы получаем следующий результат:


Вывод

Имея структурированные данные на базе данного кода с помощью Python и библиотеки docx можно в течение 10 минут написать свой код, который в течение нескольких секунд сделает всю грязную работу за Вас.

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

Итак, мы сделаем документ, в котором можно заполнять специально предназначенные для этого поля, но нельзя основное содержимое документов или надписи поясняющие значение полей.

Защита части текста Word от редактирования






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

Сначала наведите курсор на область, в которую вы хотите вставить указатель даты. Мы собираемся разместить наш здесь:



Теперь вы увидите окно. Нажмите на стрелку и выберите дату из всплывающего календаря.




Ваше текстовое поле теперь появится. Повторите шаги для следующих строк, где должны быть вписаны последующие данные.


Как видите, теперь у вас есть заполняемые разделы для текста и даты. На моём скриншоте это выглядит не очень красиво, поскольку это всего лишь пример, но при достаточной усидчивости можно подготовить красивый, профессионально выглядящий документ.



вы можете отредактировать надпись заполнителя:



Свойства окна для выбора даты:


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





Читайте также: