реклама

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

Техниката за постигане на това включва инсталиране на добавката за Office Web Components. Освен това просто трябва да конфигурирате няколко неща в приложението 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, сега ще видите „Developer“, който се показва в менютата. Кликнете върху него и кликнете върху „Режим на проектиране“. След това кликнете върху „Преглед на кода“, за да видите редактора на VBA.

Как да създадете графика от сурови файлове с данни във всеки офис продукт VBAChart21

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

създаване на графика
Кликнете върху Инструменти и след това Позовавания и ще видите списък с всички справки, които са налични във вашата система. Ако не знаете какво са това - позоваванията са основно библиотеки с код и обекти, които можете да изтеглите във вашия собствен проект. Те ви позволяват да правите някои наистина готини неща, в зависимост от това, коя справка давате. Ако току-що сте инсталирали Office Web Components в системата си, ще трябва да го добавите като нова библиотека, така че кликнете върху бутона Преглед, за да намерите правилния .dll файл.

създаване на графика

Ако сте инсталирали Office Web Components, тогава DLL файлът се нарича OWC11.dll и се съхранява в c: \ program файлове \ общи файлове \ microsoft shared \ web компоненти \ 11 \
създаване на графика

Поставете отметка в квадратчето за препратката „Microsoft Office Web Components 11.0“ и също не забравяйте изберете също „Microsoft Scripting Runtime“, което ще ви даде достъп за четене или писане от данни файлове.

Сега, когато добавихте референцията, е време да добавите действителната диаграма към вашия лист. В Excel можете да добавите контроли, като щракнете върху „Вмъкване“ в менюто на програмисти и щракнете върху иконата на малките инструменти в ъгъла под „ActiveX Controls“.

Как да създадете графика от сурови файлове с данни във всеки офис продукт VBAChart6

Превъртете до „Microsoft Office Chart 11.0“ и щракнете върху OK.
създайте графика безплатно

Най-накрая започваме работа. Ето как изглежда диаграмата на MS Web Component, вградена в електронна таблица. Ще изглежда същото вградено в документ на Word или нещо друго.

създайте графика безплатно
Така че, в случая на Excel, искам диаграмата незабавно да зареди данни от файла с данни при отваряне на файла на работната книга. За да направите това, влизате в редактора на кода, като щракнете върху „Преглед на кода“ в менюто на програмист и щракнете двукратно върху работната книга, за да видите кода на работната книга. Променете дясното падащо меню на „Отвори“. Това е скриптът, който ще се стартира при първо отваряне на файла на работната книга.

създайте графика безплатно
За да зареди графиката с данни от код, самата диаграма се нуждае от име. Върнете се в електронната таблица, щракнете с десния бутон върху диаграмата и изберете Properties. Ще видите полето „Име“ с нещо като „ChartSpace1“. Можете да промените това на всичко. Аз нарекох моята „MyChart”.
Как да създадете графика от сурови файлове с данни във всеки офис продукт VBAChart10
Също така, само за да знаете какъв е файлът с данни - моят е текстов файл, изпълнен със стойности на данни във формат, ограничен със запетая. Този файл може да бъде изобщо всичко - лабораторни данни, изнесени от сензори, финансова информация, въведена във файла ръчно от стажанти или изобщо нещо друго. Ще четете файла с вашия код, така че няма значение как изглеждат данните, стига да знаете как ще изглежда всеки ред, когато програмата ви го чете.
създайте графика
И така, сега за забавната част. Ще ви покажа кода на малки раздели, така че да не е прекалено, и да ви обясня какво прави кодът. Най-напред кода ще прочете всички стойности от текстовия файл и ще ги съхранява в два масива, един за x променливи (xVar) и един за y променливи (yVar).

Dim fso като нов FileSystemObject. Dim fnum. Dim MyFile като струнен. Dim strDataLine като низ. 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 Set oChart = .Charts. Добавете oChart. HasTitle = True oChart. Заглавие. Caption = "Моите стойности на данните" 'oChart. Вътрешните работи. Цвят = "синя" oChart. PlotArea. Вътрешните работи. Color = "бял" Задайте oSeries = oChart. SeriesCollection. Добавете с oSeries .Caption = "Моите стойности на данните" .SetData chDimCa категории, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line. Цвят = "син" .Line. DashStyle = chLineDash .Line. Тегло = 2 .Type = chChartTypeLine End С oChart. HasLegend = Вярно. oChart. Legend. Позиция = chLegendPositionBottom. Край с

Това е „Sheet1.MyChart“, който свързва кода с действителната диаграма, която сте вградили. Тя се основава на това, което сте го нарекли. Такъв ще бъде случаят, когато го вградите в Word, Powerpoint или друг продукт на Office. Няма да го споменавате с помощта на „Sheet1“, но вместо това всеки елемент съдържа диаграмата в този случай, например „document1“ в Word например.

Кодът по-горе настройва етикетирането и оцветяването на графиката и след това зарежда стойностите, използвайки метода „.setdata“ за стойности x и y на двуизмерния набор от данни. След като горният код се изпълни, ще се появи следната графика.
създайте графика

Тези данни са направо извън текстовия файл. Единственият недостатък тук е, че файловете с данни трябва да бъдат двуизмерни, само ако искате да използвате кода по-горе. Можете да добавите още стойности към набора от данни, но трябва да промените кода по-горе, за да четете третата стойност всеки път през цикъла, и след това да дублирате „SeriesCollection. Добавяне “, за да създадете друга серия и след това да я добавите към диаграмата по същия начин.

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

Играйте с кода по-горе и вижте дали можете да зареждате автоматично данни в приложенията си. Какви творчески приложения можете да измислите за този тип автоматизация? Споделете своите мисли и отзиви в секцията за коментари по-долу!

Райън има бакалавърска степен по електротехника. Работил е 13 години в автоматизацията, 5 години е в ИТ, а сега е инженер на приложения. Бивш управляващ редактор на MakeUseOf, той говори на национални конференции за визуализация на данни и е участвал в националната телевизия и радио.