Реклама

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

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

instagram viewer
Статьи VBA Как вы можете сделать свое собственное простое приложение с VBAХотите знать, как создать собственное приложение VBA для решения проблем? Используйте эти советы для создания своего собственного программного обеспечения VBA. Прочитайте больше здесь, в MakeUseOf. Некоторые из них включали передачу данных между приложения с буфером обмена Передача любой информации между приложениями VBA с использованием буфера обменаОдна из самых неприятных частей работы с VBA в конкретных приложениях заключается в том, что не всегда легко заставить два приложения «общаться» друг с другом. Вы можете попробовать для очень быстрых транзакций ... Прочитайте больше экспорт Задачи Outlook в Excel Как экспортировать задачи Outlook в Excel с VBAЯвляетесь ли вы поклонником Microsoft, по крайней мере, одна хорошая вещь, которую можно сказать о продуктах MS Office, это то, насколько легко интегрировать каждый из них друг с другом ... Прочитайте больше и отправка Письма из Excel Как отправлять электронные письма из электронной таблицы Excel с использованием сценариев VBAНаш шаблон кода поможет вам настроить автоматические электронные письма из Excel, используя объекты данных совместной работы (CDO) и сценарии VBA. Прочитайте больше скрипт.

Я собираюсь показать вам, как объединить веб-компоненты 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 Scripting Runtime», который даст вам доступ для чтения или записи данных файлы.

Теперь, когда вы добавили ссылку, пришло время добавить фактическую диаграмму на свой лист. В 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. Loop. Закрыть # 1 ReDim xVar (intNumOfLines) ReDim yVar (intNumOfLines) Открыть MyFile для ввода как # 1. intNumOfLines = 0. Делать, пока не EOF (1) Вход № 1, xVar (intNumOfLines) Вход № 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1. Loop. Закрыть № 1

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

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

С Sheet1.MyChart .Clear .Refresh Установите oChart = .Charts. Добавьте oChart. HasTitle = True oChart. Заглавие. Заголовок = «Мои данные» «oChart. Интерьер. Color = "blue" oChart. PlotArea. Интерьер. Color = "white" Set oSeries = oChart. SeriesCollection. Добавить с помощью oSeries .Caption = "Мои значения данных" .SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line. Цвет = "синий". Line. DashStyle = chLineDash .Line. Вес = 2. Тип = chChartTypeLine Конец с графиком. HasLegend = True. oChart. Легенда. Position = chLegendPositionBottom. Конец с

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

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

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

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

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

Райан имеет степень бакалавра в области электротехники. Он 13 лет проработал в области автоматизации, 5 лет - в сфере информационных технологий, а сейчас является инженером приложений. Бывший управляющий редактор MakeUseOf, он выступал на национальных конференциях по визуализации данных и был представлен на национальном телевидении и радио.