Как создать график из файлов необработанных данных в любом продукте Office

создать графикРазве не было бы неплохо иметь возможность просто открыть электронную таблицу Excel или документ Word, и без необходимости вообще что-либо делать, данные считываются непосредственно из текстового или CSV-файла данных и загружаются непосредственно во встроенную диаграмму на вашу электронную таблицу или документ Word? Это форма автоматизации с использованием продуктов Office, потому что если есть возможность автоматизировать составление диаграмм данных в Office, просто подумайте о возможностях. Вы можете автоматически загружать данные в диаграмму для отчета, который вы собираете для своего босса — ввод данных не требуется. Или вы можете загрузить данные в диаграмму непосредственно в электронное письмо в Outlook.

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

здесь, в MakeUseOf. Некоторые из них включали передачу данных между приложениями с помощью буфера обмена.

, экспорт задач Outlook в Excel

и отправка писем из Excel

скрипт.

Я собираюсь показать вам, как объединить веб-компоненты Office со сценариями текстовых файлов, чтобы создать непрерывный автоматизированный поток данных из простого текстового файла на вашем компьютере в ваш продукт Office (в нашем случае Excel). Вы можете использовать эту же технику — с небольшими изменениями — в Word, Outlook или даже PowerPoint. Любой продукт Office (или любой другой продукт в этом отношении), который имеет серверную часть VBA для разработчиков, позволит вам использовать эту технику.

Импорт и создание графика из файлов данных

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

Во-первых, прежде чем приступить к разработке VBA, необходимо включить вкладку разработчика на панели инструментов (если вы этого еще не сделали). Для этого просто войдите в меню «Параметры», нажмите «Настройка ленты» и включите вкладку «Разработчик».

создать график

Вернувшись в Excle, вы теперь увидите «Разработчик» в меню. Нажмите на него и нажмите «Режим дизайна». Затем нажмите «Просмотр кода», чтобы увидеть редактор VBA.

Как создать график из файлов необработанных данных в любом продукте Office VBAChart21

Внутри редактора вы должны включить ссылки, которые вам понадобятся для кода, который я собираюсь дать вам для работы. Убедитесь, что вы установили надстройку Office Web Components перед тем, как сделать это, иначе объект Microsoft Chart не будет доступен.

создать график
Нажмите Инструменты, а затем Ссылки, и вы увидите список всех ссылок, доступных в вашей системе. Если вы не знаете, что это такое — ссылки — это, в основном, библиотеки кода и объектов, которые вы можете использовать в своем собственном проекте. Это позволяет вам делать действительно крутые вещи, в зависимости от того, какую ссылку вы включаете. Если вы только что установили Office Web Components в своей системе, вам необходимо добавить ее в качестве новой библиотеки, поэтому нажмите кнопку «Обзор», чтобы найти правильный файл .dll.

создать график

Если вы установили Office Web Components, тогда файл DLL называется OWC11.dll и хранится в папке c: \ program files \ common files \ microsoft shared \ web components \ 11 \
создать график

Установите флажок для ссылки «Microsoft Office Web Components 11.0», а также не забудьте также выбрать «Среду выполнения сценариев Microsoft», которая предоставит вам доступ для чтения или записи из файлов данных.

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

Как создать график из файлов необработанных данных в любом продукте Office VBAChart6

Выделите «Microsoft Office Chart 11.0» и нажмите «ОК».
создать график бесплатно

Мы наконец приступили к делу. Вот как выглядит диаграмма MS Web Component, встроенная в электронную таблицу. Он будет выглядеть так же, как встроенный в документ Word или что-то еще.

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

создать график бесплатно
Чтобы загрузить диаграмму с данными из кода, самой диаграмме нужно имя. Вернитесь к электронной таблице, щелкните правой кнопкой мыши график и выберите «Свойства». Вы увидите поле «Имя» с чем-то вроде «ChartSpace1». Вы можете изменить это на что угодно. Я назвал мой «MyChart».
Как создать график из файлов необработанных данных в любом продукте Office VBAChart10
Кроме того, чтобы вы знали, каков файл данных — мой текстовый файл, заполненный значениями данных в формате с разделителями-запятыми. Этим файлом может быть что угодно — лабораторные данные, экспортированные с датчиков, финансовая информация, введенная в файл вручную специалистами, или что-то еще. Вы будете читать файл вместе с вашим кодом, поэтому не имеет значения, как выглядят данные, если вы знаете, как будет выглядеть каждая строка, когда ваша программа их читает.
создать график
Итак, теперь самое интересное. Я собираюсь показать вам код в небольших разделах, чтобы он не был подавляющим, и объяснить, что делает код. Верхняя часть кода сначала будет считывать все значения из текстового файла и сохранять их в двух массивах x, один для переменных x (xVar) и один для переменных y (yVar).

Dim fso As New FileSystemObject
Дим фнум
Dim MyFile As String
Dim strDataLine As String
Dim xVar () в качестве варианта
Dim yVar () в качестве варианта
Dim intNumOfLines As Integer
MyFile = "c: \ files \ MyData.txt"
fnum = FreeFile ()
Открыть MyFile для ввода в качестве # 1
intNumOfLines = 0
Делай пока не EOF (1)
intNumOfLines = intNumOfLines + 1
Вход № 1, strDataLine
Вход № 1, strDataLine
петля
Закрыть № 1
ReDim xVar (intNumOfLines)
ReDim yVar (intNumOfLines)
Открыть MyFile для ввода в качестве # 1
intNumOfLines = 0
Делай пока не EOF (1)
Вход № 1, xVar (intNumOfLines)
Вход № 1, yVar (intNumOfLines)
intNumOfLines = intNumOfLines + 1
петля
Закрыть № 1

[/ NOEDIT]

Этот код в основном проходит через файл данных дважды — первый раз, чтобы измерить массивы так, чтобы они имели точную длину, необходимую для хранения данных, а затем второй раз, чтобы прочитать данные в эти массивы. Если вы не знаете, что такое массив — это переменная или область хранения, которая будет содержать длинный список значений, к которым вы можете получить доступ, используя порядок, в котором значение было сохранено в массиве. Например, третий загруженный будет (3).

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

С Sheet1.MyChart
.Очистить
.refresh
Установите oChart = .Charts.Add
oChart.HasTitle = True
oChart.Title.Caption = "Мои значения данных"
'oChart.Interior.Color = "blue"
oChart.PlotArea.Interior.Color = "white"
Установите oSeries = oChart.SeriesCollection.Add
С oSeries
.Caption = "Мои значения данных"
.SetData chDimCategories, chDataLiteral, xVar
.SetData chDimValues, chDataLiteral, yVar
.Line.Color = "синий"
.Line.DashStyle = chLineDash
.Line.Weight = 2
.Type = chChartTypeLine
Конец с
oChart.HasLegend = True
oChart.Legend.Position = chLegendPositionBottom
Конец с

[/ NOEDIT]

Это «Sheet1.MyChart», который соединяет код с фактически встроенным графиком. Это основано на том, что вы назвали это. Это будет иметь место, когда вы встраиваете его в Word, Powerpoint или любой другой продукт Office. Вы не будете ссылаться на него, используя «Sheet1», но вместо этого любой элемент, который содержит диаграмму в этом случае, например «document1» в Word, например.

Приведенный выше код затем устанавливает маркировку и раскраску графика, а затем загружает значения с помощью метода «.setdata» для значений x и y двумерного набора данных. Как только приведенный выше код будет выполнен, появится следующий график.
создать график

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

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

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

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