Как интегрировать данные Excel в документ Word

Обновлено Брэдом Джонсом 25 августа 2017 года.

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

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

, для настройки трекера управления проектами

— но когда дело доходит до написания отчета, Word — гораздо лучший инструмент.

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

На удивление легко интегрировать данные Microsoft Excel в Microsoft Word, если вы знаете, как добавлять правильные ссылки и как выстраивать синтаксис фонового кода VBA.

Настройка электронной таблицы

В этом примере я собираюсь начать с довольно простой электронной таблицы Excel. На практике файл Excel может состоять из нескольких электронных таблиц с большим количеством данных — это не имеет значения.

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

,

Вот как выглядит мой образец таблицы. Это список общих расходов, которые были рассчитаны в течение всего года.

Как интегрировать данные Excel в электронную таблицу расходов на документ Word

Настройка документа Word

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

Вы можете сделать это, включив в документ Word такие объекты, как текстовые поля и метки. Когда вы находитесь в Word, просто нажмите на разработчик вкладка меню, а затем выберите «Режим дизайна» в управления раздел. Использовать Устаревшие инструменты раскрывающийся значок для вставки различных элементов в ваш документ.

Как интегрировать данные Excel в устаревшие инструменты Word Document

Используйте это меню для вставки этикетка.

Как интегрировать данные Excel в метку вставки документа Word

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

Как интегрировать данные Excel в свойства метки документа Word

Теперь добавьте Командная кнопка из того же Устаревшие инструменты раскрывающийся список и дважды щелкните его, чтобы открыть редактор VBA. Когда ваш код заработает позже, вы можете изменить его так, чтобы он запускался при событии Document Open (). Вы увидите это в раскрывающихся списках объектов в окне редактора.

Работа с VBA

Чтобы начать подключать Word к Excel, вам нужно убедиться, что вы можете ссылаться на последнее в VBA.

,

Подготовьте импорт данных Excel

Нажмите на инструменты, а потом Рекомендации. Прокрутите список вниз, пока не увидите Библиотека объектов Microsoft Excel 16.0 и выберите его.

Как интегрировать данные Excel в библиотеку объектов Excel Word Document

После того, как вы это сделаете, все остальное — просто написание смехотворно простого сценария VBA для извлечения данных из электронной таблицы Excel и автоматического обновления заголовка метки данными.

Вот код:

Частный Sub CommandButton1_Click ()
Dim objExcel As New Excel. Приложение
Dim exWb As Excel.Workbook
Установите exWb = objExcel.Workbooks.Open ("C: \ Users \ Brad \ Desktop \ sizes.xlsx")
ThisDocument.total_expenses.Caption = exWb.Sheets ("Sheet1"). Ячейки (12, 2)
exWb.Close
Установить exWb = ничего
End Sub

[/ NOEDIT]

Видишь, как это работает? Прикладной объект Excel «exWb» открывает файл Microsoft Excel по указанному вами пути, и он попадает прямо в конкретный лист и номер ячейки, извлекает данные и помещает их в свойство Caption метки, которую я назвал суммарные расходы. Все, что вам нужно отредактировать в вашем скрипте — это путь к файлу и имя метки.

Проверьте свой макрос

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

Как интегрировать данные Excel в документ Word Word с поддержкой макросов

Вот макрос VBA в действии.

Как интегрировать данные Excel в документ Word ежегодные расходы

Интегрировать ярлыки Excel

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

Одним из способов преодоления этого является включение некоторого текста вместе с данными в сам код VBA. Как вы можете видеть здесь, я поместил статический текст прямо в заголовок, когда создаю сам ярлык.

Как интегрировать данные Excel в заголовок документа Word

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

Вот как будет выглядеть этот код.

Dim objExcel As New Excel. Приложение
Dim exWb As Excel.Workbook
Установите exWb = objExcel.Workbooks.Open ("c: \ Users \ Brad \ Desktop \ sizes.xlsa")
ThisDocument.total_expenses.Caption = exWb.Sheets ("Sheet1"). Ячейки (12, 2)
ThisDocument.total_hotels.Caption = "Отели:"  exWb.Sheets ("Sheet1"). Ячейки (5, 2)
ThisDocument.total_dining.Caption = "Рестораны:"  exWb.Sheets ("Sheet1"). Ячейки (2, 2)
ThisDocument.total_tolls.Caption = "Tolls:"  exWb.Sheets ("Sheet1"). Ячейки (3, 2)
ThisDocument.total_fuel.Caption = "Топливо:"  exWb.Sheets ("Sheet1"). Ячейки (10, 2)
exWb.Close
Установить exWb = ничего

[/ NOEDIT]

Вы можете использовать символ конкатенации строк «», чтобы связать статический текст с данными, извлеченными из листа Excel. Вот как будут выглядеть окончательные результаты в обновленном документе Word:

Как интегрировать данные Excel в законченный отчет Word Document

Что дальше

Если вы хотите проверить свои способности, почему бы не автоматизировать ваш отчет

Еще больше? Вы можете удалить эту уродливую серую командную кнопку из документа Microsoft Word, просто запустив скрипт обновления данных в Document.Open () — весь процесс будет происходить за кулисами.

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

Можете ли вы вспомнить какие-либо другие интересные способы использования этой техники интеграции данных с использованием VBA? Поделитесь своими идеями и мыслями в разделе комментариев ниже.

Изображение предоставлено: Punyaphat Larpsomboon через Shutterstock.com

Ссылка на основную публикацию
Adblock
detector