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

  • Michael Fisher
  • 0
  • 4785
  • 529
Реклама

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

Для этого необходимо установить надстройку веб-компонентов Office. Кроме того, вам просто нужно настроить внутри приложения Office несколько вещей, которые вы хотите использовать для импорта данных, и вы готовы начать автоматизировать работу по созданию отчетов. Я рассмотрел некоторые элементы, которые мы собираемся использовать в этой статье в предыдущих статьях VBA. Как создать собственное простое приложение с помощью VBA Как создать собственное простое приложение с помощью VBA Для тех, кто действительно любит чтобы иметь возможность написать свое собственное приложение, но никогда раньше не набирало ни одной строки кода, я собираюсь рассказать вам о том, как сделать ваше… здесь, в MakeUseOf. Некоторые из них включали передачу данных между приложениями с помощью буфера обмена. Передача любой информации между приложениями VBA с использованием буфера обмена Передача любой информации между приложениями VBA с использованием буфера обмена Одной из самых неприятных частей работы с VBA внутри конкретных приложений является то, что это не всегда легко чтобы получить две заявки на “говорить” друг другу. Вы можете попробовать выполнить очень быстрые транзакции ..., экспортируя задачи Outlook в Excel. Как экспортировать задачи Outlook в Excel с VBA. Как экспортировать задачи Outlook в Excel с VBA. Являетесь ли вы поклонником Microsoft, есть одна хорошая вещь, которая может быть Говорят о продуктах MS Office, по крайней мере, это то, как легко интегрировать каждый из них друг с другом ... и отправка электронных писем из Excel Как отправлять электронные письма из электронной таблицы Excel с использованием сценариев VBA Как отправлять электронные письма из электронной таблицы Excel с использованием Сценарии VBA Наш шаблон кода поможет вам настроить автоматические электронные письма из Excel, используя объекты данных совместной работы (CDO) и сценарии VBA. скрипт.

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

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

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

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

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

Внутри редактора вы должны включить ссылки, которые вам понадобятся для кода, который я собираюсь дать вам для работы. Убедитесь, что вы установили надстройку 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 11.0” ссылка, а также не забудьте выбрать “Microsoft Scripting Runtime” а также, что даст вам доступ для чтения или записи из файлов данных.

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

Прокрутить до “Microsoft Office Chart 11.0” и нажмите ОК.

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


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


Чтобы загрузить диаграмму с данными из кода, самой диаграмме нужно имя. Вернитесь к электронной таблице, щелкните правой кнопкой мыши график и выберите «Свойства». Вы увидите “название” поле с чем-то вроде “ChartSpace1”. Вы можете изменить это на что угодно. Я позвонил своему “MyChart”.

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

Итак, теперь самое интересное. Я собираюсь показать вам код в небольших разделах, чтобы он не перегружал, и объяснить, что делает код. Верхняя часть кода сначала будет читать все значения из текстового файла и сохранять их в двух массивах x, один для переменных x (xVar) и один для переменных y (yVar).

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

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

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

С Sheet1.MyChart .Clear .Refresh Установите oChart = .Charts.Add oChart.HasTitle = True oChart.Title.Caption = "Мои значения данных" 'oChart.Interior.Color = "blue" oChart.PlotArea.Interior.Color = " белый "Set oSeries = oChart.SeriesCollection.Add With oSeries .Caption =" Мои значения данных ".SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line.Color =" blue ".LineDashStyle = .Line .Weight = 2 .Type = chChartTypeLine Окончание oChart.HasLegend = True oChart.Legend.Position = chLegendPositionBottom Окончание

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

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

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

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

!




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