В продолжение обсуждения взаимосвязи между приложениями Excel и Word рассмотрим еще один метод, позволяющий автоматически создавать и заполнять документ Word на основе шаблона с использованием данных из книги Excel.
В ряде преимуществ представленного решения отметим его гибкость и универсальность, что делает его полезным инструментом для автоматизации процесса работы с данными между Excel и Word 😉.
📢 Файл с примером размещен в конце статьи 🔽
▶️ Пример исходных данных
В качестве демонстрационного примера будем использовать данные предназначенные для автоматического заполнения благодарственных писем контрагентам:
Целевой ячейкой для выбора контрагента определим ячейку B2:
Посредством использования встроенных функций настроим связь между выбранным контрагентом и сведениями переносимыми в шаблон:
📝 Примечание автора: для автоматического склонения фамилий и должностей применены ранее рассмотренные решения:
▶️ Создаем шаблон документа Word
Основной задачей при создании шаблона в Word является расстановка нужных закладок.
Для целей данного примера установим 4 (четыре) закладки:
▶️ Выгрузка данных с использованием закладок
Чтобы создать новый документ Word, используя созданный шаблон применим макрос:
Представленный макрос создает новый Word-документ на основе шаблона, указанного в переменной Doc_Start. Имя нового файла формируется из строки "Письмо_" и значения из ячейки:
🔘 Заполнение закладок
В созданном документе заполняются ранее определенные закладки (каждой закладке присваивается значение из ячейки Excel):
🔘 Сохранение документа
Конструкция obj_Word.ActiveDocument.SaveAs используется для сохранения активного документа в приложении Word:
- Filename:=Doc_New: указывает на путь и имя файла, в который будет сохранен документ. Doc_New - это переменная, содержащая путь и имя нового файла.
- FileFormat:=wdFormatDocument: определяет формат файла, в который будет сохранен документ. wdFormatDocument - это константа, которая указывает на стандартный формат документа Word.
- Password:="": используется для установки пароля на документ, если это необходимо. В данном случае пароль не задается, так как он пустой (пустые кавычки "").
- AddToRecentFiles:=True: определяет, будет ли файл добавлен в список недавно использованных файлов в Word.
- WritePassword:="": параметр используется для установки пароля на запись для документа. В данном случае он не устанавливается.
- ReadOnlyRecommended:=False: определяет, будет ли рекомендовано открывать документ только для чтения. В данном случае установлено значение False, что означает, что документ не будет открыт только для чтения по умолчанию.
🔔 Оптимизация: Для ускорения выполнения макроса предусмотрено временное отключение обновление экрана в документе Word. Это предотвращает обновление окна Word до тех пор, пока макрос не завершит внесение изменений.
⚠️ Предупреждение: макрос завершается выводом сообщения об ошибке, если исходный документ шаблона не может быть найден, предупреждая пользователя о проблеме:
➡️ После успешного заполнения данных документ сохраняется в указанном месте под новым именем и открывается поверх других окон:
🔷 Подводя итог
Рассмотренный пример выгрузки данных с использованием закладок в документе Word позволяет автоматизировать процесс создания документов на основе шаблонов, что значительно экономит время и уменьшает вероятность ошибок.
🔔 Важно отметить, что представленный метод является типовым решением и может быть дополнен или изменен в зависимости от конкретных условий задачи. Например, можно добавить дополнительные поля для заполнения, настроить форматирование текста или внести другие изменения в документ.
🔶 Узнать больше о способах и приемах автоматизации работы в Excel можно найти в наших предыдущих обзорах 🔽
🙌 Оставайся с нами на связи и узнавай больше о других методах и приемах работы в Excel:
✅ СКАЧАТЬ ПРИМЕР 🔽