Windows

Добавить диаграмму в документ Microsoft с веб-компонентами Office

Добавить диаграмму в документ Microsoft с веб-компонентами Office

Разве не удивительно, что иногда такая простая вещь, как создание диаграммы, может иногда казаться такой сложной? Используете ли вы Excel, Word, Powerpoint или Access — иногда было бы неплохо просто вставить быструю диаграмму с кучей данных, не занимаясь настройкой и работой.

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

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

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

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

Включение режима дизайна

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

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

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

Добавление диаграммы в документ Microsoft с веб-компонентами Office wordchart1

Теперь, когда я начал свой документ, я хочу войти в код. В Word или Excel вы делаете это, нажимая «Файл», «Параметры», а затем нажимаете на опцию «Настройка ленты». Справа от параметров вы увидите столбец «Customize the Ribbon», а в поле «Main Tabs» вы должны увидеть «Developer» не отмеченным. Проверьте эту коробку.

Добавление диаграммы в документ Microsoft с веб-компонентами Office wordchart2

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

Добавление диаграммы в документ Microsoft с веб-компонентами Office wordchart3

Нажмите «Режим разработки», затем щелкните значок этой папки / инструментов для «Устаревших инструментов», а затем в правом нижнем углу всплывающего окна в разделе «Элементы управления ActiveX» нажмите кнопку «Дополнительные элементы управления».

Прокрутите список доступных элементов управления, пока не дойдете до «Microsoft Office Chart xx.x». Если на вашем компьютере установлен Microsoft Office, скорее всего, этот элемент управления будет доступен.

Добавление диаграммы в документ Microsoft с веб-компонентами Office wordchart4

Вставив элемент управления в документ, вы увидите, что он отображается в виде поля с надписью «Веб-компоненты Microsoft Office» внутри. По сути, это ваш пустой график, готовый для отображения ваших данных.

Добавление диаграммы в документ Microsoft с веб-компонентами Office wordchart5

Следующим шагом является написание кода, который установит тип вашей диаграммы, и отображение данных. Если вы хотите, чтобы процесс выполнялся вручную, вы можете поместить на документ кнопку, которая загрузит данные в диаграмму, но в моем случае я хотел, чтобы все было полностью автоматизировано. В тот момент, когда я открывал документ, я хотел, чтобы он запустил скрипт, который загружает диаграмму, поэтому вы можете сделать это в коде (нажмите кнопку Visual Basic, чтобы войти в редактор кода), выбрать объект документа и «Открытое» событие.

Это автоматически поместит пустую функцию под названием «Document_Open ()» в ваш код. Внутри этой функции вы хотите вставить следующий код.

  Private Sub Document_Open ()
 Дим я как целое
 Dim OChart
 Dim oSeries1
 Dim oSeries2

 Создать массивы для значений x и значений y
 Dim xValues ​​как вариант, yValues1 как вариант, yValues2 как вариант

 xValues ​​= Array ("Счет за электричество", "Ипотека", "Счет за телефон", _
 "Отопление Билл", "Продовольственные товары", _
 "Бензин", "Одежда", "Шоппинг")
 yValues1 = Array (124,53, 1250,24, 45,43, 253,54, 143,32, 259,85, 102,5, _
 569,94)
 yValues2 = Array (110, 1250, 50, 200, 130, 274, 95, _
 300) 

Этот раздел кода создает три массива. Первый (xValues) — это, по сути, ваш список описаний оси X для каждого элемента данных. В моем случае я создаю столбчатую диаграмму с помощью yValues1, но вы также можете создать линейный график. Я покажу вам, как это сделать с помощью yValues2. Теперь вставьте также следующий сегмент кода.

  С ThisDocument.ChartSpace1
 .Ясно
 .refresh
 Установите oChart = .Charts.Add

 oChart.HasTitle = True
 oChart.Title.Caption = "Ежемесячные номера бюджета против среднего" 

Этот раздел кода создает фактически сам график в вашем контейнере «chartspace». На вашем графике нет никаких данных на данный момент, но с помощью нескольких команд вы можете установить заголовок для диаграммы, а также заголовок. Теперь пришло время добавить данные. Вставьте следующий код под кодом, который вы уже вставили, чтобы сделать это.

 Установите oSeries1 = oChart.SeriesCollection.Add С помощью oSeries1 .Caption = «В этом месяце» .SetData chDimCategories, chDataLiteral, xValues .SetData chDimValues, chDataLiteral, yValues1 .Type = chChartTypeColCateClustered. y-значения 'из массивов и установить тип ряда для линейной диаграммы. Установите oSeries = oChart.SeriesCollection.Add With oSeries .Caption = "Средняя стоимость" .SetData chDimCategories, chDataLiteral, xValues .SetData chDimValues, chDataLiteral, yValues2. yValues2. chChartTypeLineMarkers заканчивается 

Приведенный выше код создает две серии для отображения на графике. Первая серия настраивает данные для отображения внутри объекта диаграммы в формате «ColumnClustered», а вторая серия настраивается для отображения в формате «TypeLineMarkers». Это отобразит оба набора значений на одной и той же диаграмме, но при этом будут использоваться разные типы диаграмм, что на самом деле может быть очень хорошим способом отображения и сравнения нескольких наборов данных.

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

  ' Отформатируйте оси значений 
  oChart.Axes (chAxisPositionLeft) .NumberFormat = "$ #, ## 0"

 oChart.Axes (chAxisPositionLeft) .MajorUnit = 1000

 «Показать легенду внизу графика
 oChart.HasLegend = True
 oChart.Legend.Position = chLegendPositionBottom 
  Конец с 
  End Sub 

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

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

Add A Chart To A Microsoft Document With Office Web Components wordchart6

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

Это только верхушка айсберга с объектами MS Office Web Components. Я начал с графиков, потому что нахожу эту функцию самой захватывающей. Добавление диаграмм в любое нужное вам приложение VBA с помощью очень короткого сценария очень полезно и очень эффективно.

Если вы все о диаграммах, почему бы не попробовать этот объект диаграммы? Знаете ли вы о каких-либо других полезных графических объектах для VBA? Как вы встраиваете данные в свои приложения? Поделитесь своими мыслями и опытом в разделе комментариев ниже.

Image Credit: Линейчатая диаграмма Tablet Finance через Shutterstock

Похожие посты
Windows

Драйверы для Windows 10

Windows

Лучшие приложения для фотографии на вашем Windows Phone

Windows

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

Windows

Официальное приложение SmugMug теперь доступно для Windows Phone