Автоматизация создания документов Word по шаблону


Краткое описание

Макрос на основе шаблонов в формате Word и по заданному списку значений в Excel формирует необходимое количество вордовских документов. Количество формируемых файлов неограниченно и зависит только от числа указанных вами параметров в Excel.


Подробное описание

Если по роду деятельности часто приходится формировать какие-либо документы в Word по шаблону (приказы, распоряжения, договора, соглашения, счета и др), то вам может пригодится макрос для автоматизации создания вордовских документов на основе исходных данных в файле Excel.

Макрос удобно и быстро создает необходимые документы, исходя из указанных шаблонов и настроенных параметров.

       - Шаблоны задаются в формате Word. Количество одновременно используемых шаблонов неограниченно.
       - Настройки (параметры) для подстановки в шаблоны хранятся в файле эксель. Может быть задано неограниченное количество параметров.

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

       - В настройках листа с данными достаточно указать название шаблона и именно данный шаблон будет применен для формирования документов. Если шаблонов указано несколько, то формирование документов будет происходить по нескольким (указанным) шаблонам.
       - В настройках макроса можно указать, по каким строкам формировать документы, а по каким пропускать.
       - Для каждого формируемого документа можно указать необходимое имя (название).
       - Для более удобной вставки наименований шаблонов в ячейку достаточно два раза кликнуть на соответствующей ячейке в столбце "C" и в открывшейся форме выбрать нужные шаблоны.

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

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

Вернуться к списку примеров

Комментарии (16)

  1. Констанин 04 августа 2017, 14:31 # 0
    Спасибо огромное. макрос очень помог, давно искал.
    1. Maxim 04 августа 2017, 14:54(Комментарий был изменён) # 0
      Да, макрос при должном применении очень упрощает автоматизацию создания типовых документов. К тому же, его легко масштабировать.
      Будем возможность, поделитесь ссылкой на данную страницу в соц. сетях или иных интернет источниках. Поможете проекту в развитии.
    2. Юрий 31 августа 2017, 12:38 # 0
      Добрый день! Вчера искал что то подобное вашему макросу в интернете, наткнулся на эту страницу. Возился вечер утро, а макрос не работает) я так понял ошибка возникает при копировании ячейки размером более 255 символов, поможете допилить? Буду бескрайне благодарен и запощу отзыв о Вас везде где смогу ;)
      1. Maxim 10 сентября 2017, 20:37 # 0
        Здравствуйте, Юрий.
        Посмотрел. Да, это из-за превышения 255 символов. Но это не ошибка макроса. В данном случае, это ограничение самого ворда. Если вы попробуйте вручную в вордовском документе через функционал «поиск — замена» сделать аналогичную замену, то ворд обрежет вашу строку до 255 символов.
        Как альтернатива, либо переписать весь код макроса (что лично мне не целесообразно в данном случае), либо разбивать вашу исходную строку на большее количество меток, что при замене не превышать лимит в 255 символов.
      2. Тимур 15 сентября 2017, 11:03(Комментарий был изменён) # 0
        При первом запуске вышло сообщение: «В книге обнаружено содержимое, которое не удалось прочитать. попробовать восстановить содержимое?»
        После чего появилось окошко с надписью:
        Удаленный компонент: Компонент /xl/styles.bin. (Стили)
        Восстановленные записи: Сведения о ячейках из части /xl/worksheets/sheet1.bin
        Восстановленные записи: Сведения о ячейках из части /xl/worksheets/sheet2.bin

        Далее, при попытке сформировать документы (даже ничего не меняя, кроме пути на шаблоны), вылетает ошибка на буржуйском языке. Дескать, не найден прожект или библиотека. Выделена строка Microsoft Forms 2.0 Objekt Library.

        Что я делаю не так?
        1. Maxim 18 сентября 2017, 01:09(Комментарий был изменён) # 0
          А какая у вас операционная система и версия Excel?
          Данный макрос работает вполне успешно на Windows 7 и выше и в Excel 2007 и выше.
          Также возможно, либо настройки безопасности вашего экселя режут макросы либо ваш антивирус.
          1. Тимур 18 сентября 2017, 03:17 # 0
            Используется MS Office 2007. Пробовал на Win XP и Win 7. Антивирус отключал. В настройках безопасности макросы включены.
            1. Maxim 18 сентября 2017, 17:30 # 0
              Если у вас на ПК установлен TeamViewer, могу сегодня вечером (время по МСК) к вам удаленно подключиться и посмотреть, что да как. Если что, пишите на info@excelstore.pro
              1. Валера 27 сентября 2017, 12:05 # 0
                Такая же ситуация подскажите как исправить
                1. Maxim 28 сентября 2017, 16:23(Комментарий был изменён) # 0
                  У вас тоже Excel 2007 и Win 7?
        2. Данил 22 сентября 2017, 12:09 # 0
          При первом открытии, при двойном нажатии на столбец С (в котором перечислены шаблоны для обработки) вылетает exception run-time error '94': Invalid use of Null. При дебаге показывает, что ошибка в строке DesktopMonitor.ScreenHeight = Item.ScreenHeight, в функции GetDesktopMonitor().
          А при нажатии на кнопку Сформировать документ операция проходит, но папка Result пуста. В чем может быть проблема?
          1. Maxim 22 сентября 2017, 16:28(Комментарий был изменён) # 0
            1. «папка Result пуста».
            На листе const в ячейке E3 проверьте путь к вашей папке с шаблонами. Указанная папка должна существовать и в ней должны быть расположены шаблоны word с наименованиями, которые обозначены в ячейке E4.

            2. «Invalid use of Null»
            Проверил сейчас на двух компьютерах, всё работает. Почему у вас данная ошибка — не могу сказать.
            Точно, что данный функционал никак не влияет на формирование файлов. Двойной клик по ячейке в столбце C — это исключительно для удобства заполнения ячейки нужными именами шаблонов. Если не сможете решить проблему с двойным кликом, можете заполнять ячейке в этом столбце вручную (разделитель точка с запятой, как в примере). Как вариант решения — переписать блок кода, отвечающий за позиционирование окна всплывающей формы.
          2. Gu-Dron 23 октября 2017, 16:18 # 0
            Спасибо очень помогли, такой вопрос нельзя ли так же сделать, что бы можно было подставлять данные в колонитулы?
            1. Maxim 01 ноября 2017, 11:09 # 0
              В следующем обновлении макроса учту данную доработку.
            2. Артут 31 октября 2017, 20:27 # 0
              здравстуйте, а как-нибудь можно сделать чтобы в 2003 office работал?
              1. Maxim 01 ноября 2017, 10:59 # 0
                Здравствуйте. Как-нибудь конечно можно. Код макроса открыт, можете попробовать доработать самостоятельно. Либо можете обратиться ко мне (email: info@excelstore.pro), обсудим вопрос платной доработки.
                В иных случаях, мне дорабатывать под офис 2003 не актуально, т.к. версия данного офиса всё дальше уходит в прошлое и людей, использующих эту версию, всё меньше.