Формирование документов по шаблону excel

Предназначение программы: заполнение множества документов данными из Excel нажатием одной кнопки.

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

На выходе получаются заполненные файлы исходного формата, или формата PDF.
Возможно формирование писем по шаблону, с последующей рассылкой через Outlook или TheBAT.

  • Количество шаблонов не ограничено. Вы легко можете сами настраивать любые шаблоны.
    В качестве шаблонов могут выступать файлы Excel (XLS, XLSX и др.), документы Word (DOC, DOCX и др.), а также текстовые документы (расширения TXT, DAT, XML и т.д.).
  • Гибкая настройка имён создаваемых файлов. Можно раскладывать файлы по подпапкам.
  • Подстановка таблиц и картинок (фото, печатей, подписей и т.п.) в заполняемые документы.
  • Склонение фамилий, дата и сумма прописью, — дополнительные функции обработки данных.
  • Рассылка почты (писем с вложениями) через TheBAT! или Outlook. Можно формировать красивые HTML-письма
  • Есть возможность формировать один документ по нескольким строкам исходной таблицы.
    (вывести список сотрудников в приказ, список товаров в накладную, и т.д.).
  • Можно выбирать шаблоны для заполнения в диалоговом окне
    (или даже программа будет сама брать нужные шаблоны для разных строк)
  • Подстановка данных в надписи и колонтитулы шаблонов Word.

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

Более подробно всё это описано в разделе Справка по программе

Шаблон формата Excel может быть как библиотекой наборов стилей форматирования, так и готовым документом с таблицами, данными, форматами и графиками. В шаблоны-документы достаточно только ввести свои данные, чтобы получить готовый, тематически стильно оформленный, презентабельный отчет. Например, «Семейный бюджет» – очень полезный встроенный шаблон в Excel.

Создание шаблона в Excel

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

  1. Сначала нужно сделать шаблон таблицы Excel и график, как показано ниже на рисунке. И присвойте ей пользовательский стиль форматирования.
  2. Статьи расходов.

  3. Сохраняем документ как шаблон: «Файл»-«Сохранить как». В окне сохранения можно указать любую папку, так как Excel потом автоматически перенесет этот файл в специальную директорию для хранения нестандартных шаблонов.
  4. В поле тип файла следует указать «Шаблоны формата Microsoft Office Excel *.xltx». Заметьте, как только мы выбираем этот тип файла, автоматически открывается папка «Шаблоны» в окне сохранения документа.
  5. Тип файла.

  6. В поле: «Имя файла» введите любое название шаблона. Например, «мои расходы». И жмите СОХРАНИТЬ.
  7. После сохранения закройте документ.

Теперь чтобы использовать наш шаблон достаточно выбрать меню: «Файл»-«Создать»-«Мои шаблоны». Выберите свой шаблон «мои расходы».

Мои шаблоны.

Откройте и сохраните этот документ как обычный файл в формате *.xlsx. А теперь обратите внимание на то, что наш пользовательский стиль так же сохранен в данной книге.

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



Создание файла по шаблону Excel

Можно установить свой пользовательский шаблон, по которому будет оформлен и отформатирован документ при каждом запуске программы Excel. Для этого следует сохранить файл с расширением *.xlsx в папке XLSTART. Данная папка создается при установке программы Excel. Чтобы легко найти путь к ней следует перейти в режим VisualBasic (Alt+F11) и открыть окно: «View»-«Immediate». А там следует набрать код: ? application.StartupPath и нажать Enter. Ниже отобразиться путь:

C:Usersимя пользователяAppDataRoamingMicrosoftExcelXLSTART

XLSTART.

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

Теперь при каждой загрузке программы будет открыт файл который лежит в этой папке. Более того если вы сохраните там несколько документов, то все они будут открыты при каждой запуске программы.

Полезный совет! Если в папке XLSTART сохранить отформатированный шаблон с именем Лист.xltx. То каждый новый созданный лист будет иметь такой же формат как Лист.xltx. При том не зависимо, в какой способ создан новый лист, через меню или комбинацией горячих клавиш SHIFT+F11. Формат будет один и тот же. А чтобы отменить такую функцию нужно просто удалить этот шаблон из XLSTART.

Форматирование документов – это важный, но очень утомительный процесс. Для его автоматизации существует несколько полезных инструментов такие как: темы, стили и шаблоны. Каждый из них обладает своими преимуществами и недостатками. Например, самый простой способ автоматизации форматирования – это стили. Они облегчаю пользователю процесс форматирования, но могут быть сохранены только в рамках одной книги. Да созданные или измененные пользователем стили можно скопировать в другую книгу. Или создать отдельную, специальную книгу с целым набором свих пользовательских стилей, чтобы копировать их в другие документы, но это крайне неудобно. Для решения такой задачи лучше использовать шаблоны.

Создание темы документа для автоматического форматирования

Тема Excel – это собрание стилей, цветов, шрифтов и много разных графических свойств форматирования, которые легко можем менять в пару кликов мышкой для изменения стильного оформления документа. Темы стали доступны начиная с 2007-й версии и новее. Их можно встретить и в других продуктах входящих в пакет MS Office.

Для примера возьмем простой не форматированный документ и будем присваивать ему разные темы пока не выберем подходящую к данным. Заодно посмотрим, что произойдет выбрать другую тему Excel:

  1. Создайте новую книгу и заполните ее данными (начиная со столбца H) так как показано на рисунке:
  2. Статьи расходов.

  3. Выберите инструмент: «Разметка страницы»-«Темы».
  4. В выпадающем списке наводите курсор мышки на разные темы и обратите внимание на то, как меняется стиль оформления данных документа.
  5. Статьи расходов.

  6. Щелкните по подходящей теме, которая на Ваш взгляд наиболее подходит к данному документу.

Внимание! Темы присваиваются к целому документу. Поэтому нельзя для разных листов задавать разные темы форматирования.

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

  • цвета;
  • шрифты;
  • эффекты.

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

Шрифты.

Как только вы сохраните новый набор шрифтов и/или цветов под своим названием, тогда она будет доступна в разделе тем как для Excel, так и для других программ из пакета MS Office (Word, PowerPoint и др.).

Автоматизация заполнения и вывода файлов по шаблонам рутинных документов это одна из та областей в отрасли строительства по которой традиционно софт, кроме бухгалтерского, находится на уровне вылизанных поделок, на мой скромный взгляд. Поэтому, развивая тему, приглашаю обсудить те проблемы и возможности, с которыми пришлось столкнуться в процессе реализации на базе MS Excel.

Со времени предыдущей статьи прошло уже пол года. За это время при помощи этой заготовки была разработана текстовая часть Исполнительной документации и сдана Заказчику. По итогам работы и отзывам редких участников в файл были внесены следующие правки, о которых я бы хотел поговорить и это 3 большие темы:

  1. Эстетика и юзабилити
  2. Оптимизация кода + нововведения
  3. Структура и связи

Итак — вперед!!!

1. Эстетика и юзабилити

— Таблицы это в первую очередь таблицы, безликие ячейки с подписанными колонками и строками. Однако очень часто мы сталкиваемся с ситуацией, когда необходимы дополнительные пояснения к значению, которое будет находится в ячейке, или требуется дополнительно активизировать внимание пользователя на важности вводимого значения. Особенно важно, если у Вас, как в моем случае, строки в колонке очень длинной таблицы содержат разноплановую информацию, например: даты, виды работ, материалы, подписанты и многие др. В таких случаях у нас есть 2 инструмента для решения задачи:

1. Примечание
2. Вкладка «Данные» -> пункт меню «Проверка данных» -> вкладка «Сообщение для ввода»

Как выглядят всплывающие подсказки

Есть и минусы такого решения, в частности всплывающие подсказки могут раздражать, но в ситуации, когда на объекте 15″ мониторы на ноутбуках с разрешением 1366×768 это разумный компромисс, что бы рабочая область была как можно больше.

Если внимательно проанализировать данные, то окажется что в таблице будут ячейки 3х типов:

  1. ячейки в которые непосредственно необходимо вводить новую текстовую информацию;
  2. ячейки, значение которых может принимать значение из ограниченного диапазона, введенного заранее, например: ФИО и должность подписантов;
  3. ячейки в которых прописаны формулы, например есть часть данных которая будет повторяться из акта в акт и такую информацию достаточно ввести один раз, например: наименование объекта, участок, организация и т.п.; либо формулы призванные реализовать технические возможности, например: переноса строки, подтягивание объемов работ, регалий по ФИО и т.п.

Таким образом получается, что для логично выделить цветом фона необходимые поля и поставить защиту на лист для тех случаев, когда нарушение работы формул будет критическим, например в Excel очень часто летят формулы если не копировать значения, а вырезать-вставить, что можно ограничить наряду с выделением и правкой ячеек содержащих формулы, например прописав на листе макрос:

Private Sub Worksheet_Activate()
    Worksheets("Ваш Лист").EnableOutlining = True
    Worksheets("Ваш Лист").Protect Password:="111"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Application.CutCopyMode = xlCut Then
    Application.CutCopyMode = False
  End If
End Sub

Здесь первая процедура постоянно будет защищать лист при помощи пароля 111, вторая будет блокировать функционал вырезать-вставить. Надо ли говорить, что это все работает только при включенных макросах, но с другой стороны без них и файл на 100% функционировать не будет.
Для случаев же п.2 разумно завести лист где столбцы будут содержать меняющиеся значения, прописать в них ссылки на диапазоны, присвоить им имена, т.е. на вкладке «Формулы» -> «Диспетчер имен» каждому диапазону присвоить имена и через вкладку «Данные» -> пункт меню «Проверка данных» -> вкладка «Параметры» -> условие проверки — «Список» реализовать выпадающее меню.

И, конечно, не забывайте ставить условия форматирования цветом, например для случаев, когда заполнены все необходимые строки в столбце через «Условное форматирование», например формула условного форматирования закрашивает ячейку, если следующие ячейки под ней содержат текст: =И(ДЛСТР(E5)>0; ДЛСТР(E6)>0)

2. Оптимизация кода + нововведения

Начать придется издалека, а именно вернуться к вопросу о реализации механизма заполнения шаблона. Если Вы решите заполнить шаблон в формате Excel и в формате Word, то это будут совершенно 2 разных механизма. В основе своей в файл Excel пишутся значения в конкретные ячейки файла или диапазоны ячеек и имеют привязку вида (у, х) (не спрашивайте почему у них строка идет впереди столбца при адресации — не знаю), например: Worksheet.Cells(y, x) = k. Отсюда же и первая мысль, что заполнять Excel-шаблон можно либо явным образом, т.е. непосредственно весь макрос будет содержать что откуда берется и куда закладывается, но что если придется вносить изменения в таблицы данных или выйдет новая форма шаблона? Отсюда вторая идея реализации, код которой описан в первой статье — это парсинг некоторых символов, которыми сперва заполняется массив, а так же в свою очередь содержит файл шаблона в нужных местах. Затем в каждой строке шаблона ищется совпадение с элементами массива поочередно, если совпадение есть, то порядковый номер массива привязан к строке таблицы откуда берутся данные, а столбец берется с листа в котором мы указываем какие именно акты мы хотим вывести. Итого несколько вложенных циклов, что накладывает ограничения на форматирование шаблона Excel, чем проще — тем лучше, потому что чем больше ячеек парсить — тем дольше будет происходить заполнение шаблона данными.

По многочисленным просьбам мною была интегрирована возможность вывода в шаблон формата Word, и здесь на самом деле есть 2 способа вывода текста:

1. Это через функционал закладок,

когда мы так же считываем массив управляющих кодов, вручную прописываем их в шаблоне через «Вставка» -> «Закладки» и дальше просто прогоняем макросом присваивая закладке данные из соответствующей ей ячейке в файле Excel.

            Rem -= Открываем файл скопированного шаблона по новому пути и заполняем его=-
            Set Wapp = CreateObject("word.Application"): Wapp.Visible = False
            Set Wd = Wapp.Documents.Open(ИмяФайла)
            
            NameOfBookmark = arrСсылкиДанных(1)
            ContentOfBookmark = Worksheets("Данные для проекта").Cells(3, 3)
            On Error Resume Next
            UpdateBookmarks Wd, NameOfBookmark, ContentOfBookmark
            Dim ContentString As String
            For i = 4 To Кол_воЭл_овМассиваДанных Step 1
                If Len(arrСсылкиДанных(i)) > 1 Then
                   NameOfBookmark = arrСсылкиДанных(i)
                   ContentString = CStr(Worksheets("БД для АОСР (2)").Cells(i, НомерСтолбца))
                   If ContentString = "-" Or ContentString = "0" Then ContentString = ""
                   ContentOfBookmark = ContentString
                   On Error Resume Next
                   UpdateBookmarks Wd, NameOfBookmark, ContentOfBookmark
                End If
            Next i
             
            Rem -= Обновляем поля, что бы ссылки в документе Word так же обновились и приняли значение закладок, на которые ссылаются =-
            Wd.Fields.Update
             
            Rem -= Сохраняем и закрываем файл =-
            Wd.SaveAs Filename:=ИмяФайла, FileFormat:=wdFormatXMLDocument
            Wd.Close False: Set Wd = Nothing

Sub UpdateBookmarks(ByRef Wd, ByVal NameOfBookmark As String, ByVal ContentOfBookmark As Variant)
    On Error Resume Next
    Dim oRng As Variant
    Dim oBm
    Set oBm = Wd.Bookmarks
    Set oRng = oBm(NameOfBookmark).Range

    oRng.Text = ContentOfBookmark
    oBm.Add NameOfBookmark, oRng
End Sub

Здесь вынесена в отдельную процедуру обращение к закладке и arrСсылкиДанных(i) — это массив который содержит управляющие символы. Издержки метода, если Вам потребуется сослаться на значение Закладки в другом месте, например дату нужно использовать в заголовке и напротив фамилии каждого подписанта, то необходимо использовать в шаблоне Меню «Вставка» -> пункт меню «Перекрестная ссылка» -> Тип ссылки: «Закладка», Вставить ссылку на: «Текст закладки» и снять галочку «Вставить как гиперссылку». Что бы это отобрадзилось корректно не забудте обновить в конце макроса перед выводом поля Wd.Fields.Update

2. Если рисовать таблицы средствами Word, то к ним можно обращаться с адресацией в ячейку

       Rem -= Заполняем данными таблицы ЖВК =-
       Dim y, k As Integer
       Let k = 1
       For y = Worksheets("Титул").Cells(4, 4) To Worksheets("Титул").Cells(4, 5)
           Wd.Tables(3).cell(k, 1).Range.Text = Worksheets("БД для входного контроля (2)").Cells(6, 4 + y)
           Let k = k + 1
       Next y
       End With       

Здесь нужно обратить внимание, что у каждой таблицы в Word есть свой внутренний номер, методом нехитрого перебора Вы найдете нужный, а дальше принцип тот же, что и в Excel.

Между выводами в файлы форматов Word и Excel есть огромная пропасть, которая заключается в следующем:

Шаблон Excel требует перед использованием настроить отображение под конкретный принтер, т.к. фактическая область печати разнится от модели к модели. Так же перенос строки текста возможен, но только в пределах ячейки/объединенных ячеек. В последнем случае не будте автораздвигания строки, в случае переноса текста. Т.е. Вам вручную придется заранее определит границы области, которые будут содержать текст, который в свою очередь в них еще должен убраться. Зато Вы точно задали границы печати и выводимого текста и уверены, что не съедет информация (но не содержание) с одного листа на другой.

Шаблон Word при настройке автоматически переносит текст на последующую строку, если он не убрался по ширине ячейки/строки, однако этим самым он вызывает непрогнозируемый сдвиг текста по вертикали. Учитывая тот факт, что по требованиям к Исполнительной документации в строительстве ЗАПРЕЩЕНО один акт печатать на 2х и более листах, то это в свою очередь так же рождает проблемы.

Вторым большим нововведением стал отказ от реализации переноса текстовых строк с макроса VBA и заменой на функцию Excel, благодаря чему ускорилась работа с файлом.

Для первой строки:

{=ЕСЛИОШИБКА(ЕСЛИ($F$20<>»-«; ЕСЛИ(ДЛСТР(‘Данные для проекта’!$C$3)<106;’Данные для проекта’!$C$3; ПСТР(‘Данные для проекта’!$C$3;1;105-ПОИСКПОЗ(» *»; ПРАВСИМВ(ПСТР(‘Данные для проекта’!$C$3;1;105); СТРОКА($1:$10));))));»-«)}

Для последующих:

{=ЕСЛИОШИБКА(ЕСЛИ($F$20<>»-«; ПСТР(‘Данные для проекта’!$C$3; СУММ(ДЛСТР(F$1:F1))+1;105-ПОИСКПОЗ(» *»; ПРАВСИМВ(ПСТР(‘Данные для проекта’!$C$3; СУММ(ДЛСТР(F$1:F1))+1;105); СТРОКА($1:$10));)));»-«)}

Здесь используется принцип массивов, т.е. вводится такой текст по Ctrl + Shift + Enter, а не обычному Enter. Сами формулы располагаются в ячейках F1 и F2. ‘Данные для проекта’!$C$3 — ссылка на наименования объекта, длина текста которого более 105 символов. Перенос организуется в случае превышения длины текста в 105 символов.

Еще одним нововведением стал общий реестр, а так же контроль списания материалов по актам АОСР, но здесь ничего нового, просто парсинг соответствующих строк в свяске ИНДЕКС + ПОИСКПОЗ, которые расписаны во многих мануалах.

3. Структура и связи

Но мой пост так бы и остался рядовым постом с очередной игрой в изобретание велосипеда инструментами, которые рассчитаны на совершенно другое, если бы ни одно НО(!) Месячно-суточный график.

Идея о том, что можно именно на него много чего повесить, например заполнение Общего журнала работ в части Раздела 3 — наименование работ по датам, очередность и необходимость Актов освидетельствования скрытых работ и не только — завладела моими мыслями. Обычно в Excel закрашивают даты, в зависимости от диапазонов дат — начало и конец, но не на стройке!!! На стройке в календарном графике пишут объемы, а в зависимости от того с какой даты напротив наименования работ стоят объемы и по которую — получаются диапазоны дат отчетных периодов. На скриншоте серым помечены объемы попадающие в систематизированные отчетные периоды (1мес). Таким образом получается, что если:

  • детализируем и составим очередность работ по разделу проекта и пропишем их в порядке очереди, то мы получим очередность работ;
  • на календарном графике обозначим отчетные периоды (серым) и организуем суммирование объемов по отчетным периодам по каждой строке — мы получим объемы работ для АОСР и иных актов;
  • субдиапазоны работ для каждого отчетного периода можно забрать макросом или формулой.

Таким образом получается, что при помощи МСГ можно составлять документацию… А это упрощается и визуальное восприятие и визуальный контроль объемов работ.

Надеюсь, что Вам было интересно. Попробовать программу можно по ссылке

Спасибо за внимание.

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

Способ 1: Встроенный поиск в Microsoft Excel

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

  1. Если вы уже запустили Эксель или создали новый лист, на верхней панели выберите вкладку «Файл».Переход в раздел Файл для использования шаблонов в Microsoft Excel

  2. По умолчанию тут всего два базовых шаблона, поэтому лучше открыть полный список, щелкнув по кнопке «Другие шаблоны».Открытие полного списка для использования шаблонов в Microsoft Excel

  3. Ознакомьтесь с названиями, применениями и миниатюрами популярных заготовок. Среди них есть таблицы для ведения бюджета, расписания, календари и многое другое, что может пригодиться как обычному юзеру, так и сотрудникам компаний.Ознакомление со списком для использования шаблонов в Microsoft Excel

  4. Если вас интересует конкретная категория заготовок, нажмите кнопку «Поиск шаблонов в сети» или следуйте подсказкам в списке ниже.Использование поиска для использования шаблонов в Microsoft Excel

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

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

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

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

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Способ 2: Официальный сайт Microsoft

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

  1. Откройте главную страницу сайта Office.com и на верхней панели выберите пункт «Шаблоны».Переход в раздел на официальном сайте для использования шаблонов в Microsoft Excel

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

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

  4. Премиум-шаблоны будут отмечены синим ярлыком с бриллиантом сверху. Можете развернуть весь список платных заготовок и посмотреть, чем они отличаются от бесплатных и могут ли оказаться полезными для вас.Просмотр премиум-вариантов для использования шаблонов в Microsoft Excel

  5. Большинство заготовок распространяются свободно. Их действительно тысячи, на самые разные темы. Предлагаю убедиться в этом самостоятельно, пролистав выдачу на официальном сайте.Список бесплатных вариантов для использования шаблонов в Microsoft Excel

  6. После выбора шаблона нажмите «Скачать», чтобы получить его в виде файла в соответствующем формате.Кнопка скачивания на официальном сайте для использования шаблонов в Microsoft Excel

  7. Ожидайте окончания загрузки и откройте шаблон в Excel для проверки листов и дальнейшего редактирования.Открытие полученной таблицы для использования шаблонов в Microsoft Excel

Способ 3: Сторонние сайты с шаблонами

Энтузиасты и владельцы тематических сайтов предлагают альтернативные варианты шаблонов, размещая их в свободном доступе. Многие такие таблицы являются авторскими, узконаправленными или имеющими другие особенности, из-за которых они не были добавлены в общую библиотеку. Если вы решите использовать сторонние сайты, главное – скачивайте файлы исключительно Excel-формата, чтобы не нарваться на вирусы.

  1. Поиск шаблонов на таких сайтах выглядит точно так же, как это было показано выше. Разве что иногда разработчики таких веб-ресурсов дают больше информации о файлах перед их скачиванием.Поиск на сторонних сайтах для использования шаблонов в Microsoft Excel

  2. Многие размещают целые инструкции, в которых рассказано о каждом составляющем шаблона, обо всех функциях, их работе и взаимосвязях. Это будет очень полезно тем, кто ищет заготовку для Excel, чтобы по ней выучить новые функции и узнать, как правильно их использовать.Инструкции на сторонних сайтах для использования шаблонов в Microsoft Excel

  3. На странице с шаблоном нужно отыскать кнопку скачивания.Скачивание файла со стороннего сайта для использования шаблонов в Microsoft Excel

  4. Иногда шаблон будет открыт для предпросмотра через Google Диск, что дополнительно позволяет убедиться в его безопасности. Если как раз произошло такое открытие, для скачивания файла нажмите кнопку со стрелкой вниз на верхней панели.Предпросмотр на стороннем сайте для использования шаблонов в Microsoft Excel

Экспорт файла как шаблона

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

  1. Откройте электронную таблицу, из которой хотите сделать шаблон. На панели сверху выберите раздел «Файл».Переход в раздел Файл для экспорта шаблонов в Microsoft Excel

  2. Появится дополнительное окно, в котором на левой панели нужно найти пункт «Экспорт».Открытие меню сохранения для экспорта шаблонов в Microsoft Excel

  3. После нажатия по нему появится два варианта выбора сохранения, вам следует указать «Изменить тип файла».Переход к изменению формата файла для экспорта шаблонов в Microsoft Excel

  4. Остается только выбрать формат шаблона, отыскав его в общем списке. Кликните по данному пункту дважды левой кнопкой мыши.Выбор формата шаблона для экспорта в Microsoft Excel

  5. Задайте для файла шаблона название и сохраните в любом месте на компьютере, которое посчитаете удобным.Ввод названия файла для экспорта шаблонов в Microsoft Excel

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

Очень часто бывает такое, что нужно сформировать документы по определенному шаблону, на основе каких-то данных, например, по каждому сотруднику или по каждому лицевому счету. И делать это вручную бывает достаточно долго, когда этих самых сотрудников или лицевых счетов много, поэтому сегодня мы рассмотрим примеры реализации таких задач в Excel с помощью макроса написанного на VBA Excel.

Немного поясню задачу, допустим, нам необходимо сформировать какие-то специфические документы по шаблону массово, т.е. в итоге их получится очень много, как я уже сказал выше, например, по каждому сотруднику. И это нужно сделать непосредственно в Excel, если было бы можно это сделать в Word, то мы бы это сделали через «Слияние», но нам нужно именно в Excel, поэтому для этой задачи мы будем писать макрос.

Мы с Вами уже выгружали данные по шаблону через клиент Access из базы MSSql 2008 в Word и Excel вот в этой статье —  Выгрузка данных из Access в шаблон Word и Excel. Но сейчас допустим, у нас данные располагаются в базе, в клиенте которой нельзя или слишком трудоемко реализовать такую задачу, поэтому мы просто выгрузим необходимые данные в Excel и на основе таких данных по шаблону сформируем наши документы.

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

Напомню, что на данном сайте тема VBA Excel уже затрагивалась, например, в материале – Запрет доступа к листу Excel с помощью пароля

И так приступим!

Реализовывать нашу задачу будем на примере «Электронной карточке сотрудника» (я это просто придумал:), хотя может такие и на самом деле есть), т.е. документ в котором хранится личные данные сотрудника вашего предприятия, в определенном виде, именно в Excel.

Примечание! Программировать будем в Excel 2010.

И для начала приведем исходные данные, т.е. сами данные и шаблон

Данные.

Скриншот 1

Лист, на котором расположены эти данные так и назовем «Данные»

Шаблон.

Скриншот 2

Лист, на котором расположен шаблон, тоже так и назовем «Шаблон»

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

Это делается очень просто, выделяете необходимую ячейку или диапазон, и жмете правой кнопкой мыши и выбираете «Присвоить имя», пишите имя ячейки и жмете «ОК»

Курс по SQL для начинающих

Скриншот 3

Свои поля я назвал следующим образом:

  • ФИО – fio;
  • № — number;
  • Должность – dolgn;
  • Адрес проживания – addres;
  • Тел. № сотрудника – phone;
  • Комментарий – comment.

Код макроса на VBA Excel

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

Примечание! По умолчанию данной вкладке в Excel 2010 может и не быть, чтобы ее отобразить нажмите правой кнопкой по ленте пункт меню «Настройка ленты»

Скриншот 4

затем, в правой области поставьте галочку напротив пункта «Разработчик»

Скриншот 5

После вкладка разработчик станет отображаться на ленте.

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

Скриншот 6

После у Вас откроется окно редактора кода, где собственно мы и будем писать свой код VBA. Ниже представлен код, я его как обычно подробно прокомментировал:

Sub Карточка()
'Книга
NewBook = ""
' Путь, где будут храниться наши карточки
' Т.е. в той папке, откуда запустился файл с макросом
Path = ThisWorkbook.Path
' Выбираем лист с данными
Sheets("Данные").Select
' Запускаем цикл, скажем на 100000 итераций
' Начиная со второй строки, не учитывая заголовок
For i = 2 To 100000
' Выйдем из него, когда фамилии закончатся, т.е. строки
If Cells(i, 1).Value = "" Then
        i = 100000
    Exit For
End If
' Имя файла карточки, назовем по фамилии
Name_file = Path & "" & Sheets("Данные").Cells(i, 1).Value & ".xls"
‘Выбираем лист с шаблоном
Sheets("Шаблон").Select
' Присваиваем значения нашим ячейкам, по именам которые мы задавали
    Range("fio").Value = Sheets("Данные").Cells(i, 1).Value & " " & _
        Sheets("Данные").Cells(i, 2).Value & " " & Sheets("Данные").Cells(i, 3).Value
    Range("number").Value = Sheets("Данные").Cells(i, 4).Value
    Range("addres").Value = Sheets("Данные").Cells(i, 5).Value
    Range("dolgn").Value = Sheets("Данные").Cells(i, 6).Value
    Range("phone").Value = Sheets("Данные").Cells(i, 7).Value
    Range("comment").Value = Sheets("Данные").Cells(i, 8).Value
    ' Копируем все
    Cells.Select
    Selection.Copy
    ' Создаем новую книгу или делаем ее активной 
    If NewBook = "" Then
        Workbooks.Add
        NewBook = ActiveWorkbook.Name
    Else
        Workbooks(NewBook).Activate
        Cells(1, 1).Select
    End If
    ' Вставляем данные в эту книгу
    Application.DisplayAlerts = False
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ' Сохраняем с нашим новым названием
    ActiveWorkbook.SaveAs Filename:= _
    Name_file, FileFormat:=xlExcel8, _
    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False
    NewBook = ActiveWorkbook.Name
    Application.DisplayAlerts = True
    ' Снова активируем файл с макросом и выбираем лист
    Workbooks("Макрос.xls").Activate
    Sheets("Данные").Select
' Переходим к следующей строке
Next i
' Закроем книгу
Workbooks(NewBook).Close
' Выведем сообщение об окончании
MsgBox ("Выполнено!")
End Sub

Теперь осталось выполнить этот макрос, для этого откройте вкладку разработчик->макросы->выполнить наш макрос:

Скриншот 7

и после выполнения у Вас в той же папке появится вот такие файлы

Скриншот 8

Вот с таким содержимым:

Скриншот 9

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

Понравилась статья? Поделить с друзьями:
  • Формирование документов word по шаблону
  • Формирование документа в текстовом редакторе word
  • Формирование выпадающих списков в excel
  • Формирование документа word это
  • Формирование выпадающего списка в excel