Cum se creează un grafic din fișierele de date brute în orice produs de birou

Cum se creează un grafic din fișierele de date brute în orice produs de birou / ferestre

Nu ar fi frumos să aveți abilitatea de a deschide o foaie de calcul Excel sau un document Word și fără a trebui să faceți nimic, datele se citesc direct dintr-un fișier de date text sau CSV și se încarcă direct într-o diagramă încorporată pe foaia de calcul sau documentul Word? Aceasta este o formă de automatizare utilizând produsele Office, deoarece dacă este posibilă automatizarea grafică a datelor în Office, gândiți-vă doar la posibilități. Puteți încărca automat datele într-o diagramă pentru un raport pe care îl puneți împreună pentru șeful dvs. - nu este necesară introducerea datelor. Sau puteți încărca datele într-o diagramă direct într-un e-mail în Outlook.

Tehnica pentru a realiza acest lucru implică instalarea suplimentului Office Web Components. În plus, trebuie doar să configurați câteva lucruri în interiorul aplicației Office pe care doriți să le utilizați pentru a importa datele și sunteți gata să începeți să vă automatizați activitatea de raportare. Am acoperit unele dintre elementele pe care le vom folosi în acest articol în articole anterioare VBA Cum vă puteți face App simplu cu VBA Cum vă puteți face App simplu cu VBA Pentru cei dintre voi care ar place cu adevarat pentru a putea să vă scrieți propria aplicație, dar nu ați introdus niciodată o singură linie de cod înainte, vă voi purta prin a vă face foarte ... Citește mai multe aici la MakeUseOf. Câteva dintre acestea au inclus transferul de date între aplicații cu clipboard Pass Orice informație între aplicațiile VBA Utilizarea Clipboard Pass Orice informații între aplicațiile VBA Utilizarea Clipboard Una dintre cele mai frustrant părți de a lucra cu VBA în cadrul aplicațiilor specifice, este că nu este întotdeauna ușor pentru a primi două aplicații “vorbi” unul altuia. Puteți încerca pentru tranzacții foarte rapide ... Citește mai mult, exportarea sarcinilor Outlook la Excel Cum să exportați sarcinile dvs. Outlook la Excel cu VBA Cum să exportați sarcinile Outlook la Excel cu VBA Fie că sunteți sau nu un fan al Microsoft, un lucru bun care se poate spune despre produsele MS Office, cel puțin este cât de ușor este de a integra fiecare dintre ele unul cu altul ... Citește mai mult și trimiterea de e-mailuri dintr-un Excel Cum să trimiteți e-mailuri dintr-o foaie de calcul Excel folosind Scripts VBA Cum să trimiteți e-mailuri de la o foaie de calcul Excel Utilizând Script-uri VBA Șablonul nostru de cod vă va ajuta să configurați e-mailuri automatizate din Excel folosind Collaboration Data Objects (CDO) și script-uri VBA. Citește mai mult script.

Ceea ce vă voi arăta este cum să combinați Office Web Components cu scripturi de fișiere text pentru a crea un flux automat de date dintr-un fișier text plat de pe computer în produsul dvs. Office (în cazul nostru Excel). Puteți folosi aceeași tehnică - cu câteva mici modificări - în Word, Outlook sau chiar în PowerPoint. Orice produs Office (sau orice alt produs care contează) care are un back-end VBA pentru dezvoltatori, vă va permite să utilizați această tehnică.

Importați și creați un grafic din fișierele de date

Înainte de a putea crea un grafic din fișierele de date, va trebui să activați mai întâi câteva lucruri. În acest exemplu, vă voi arăta cum să activați aceste funcții în Excel, dar procesul este aproape identic pentru fiecare alt produs Office.

Mai întâi, înainte de a face orice dezvoltare VBA, trebuie să activați fila dezvoltator din bara de instrumente (dacă nu ați făcut-o deja). Pentru a face acest lucru, mergeți doar în meniul Opțiuni, faceți clic pe “Personalizați panglica” și să acționeze “Dezvoltator” fila.

Înapoi în Exclu, veți vedea acum “Dezvoltator” apare în meniuri. Faceți clic pe acesta și faceți clic pe “Mod de proiectare”. Apoi faceți clic pe “Afișați codul” pentru a vedea editorul VBA.

În interiorul editorului este locul unde va trebui să activați referințele de care aveți nevoie pentru codul pe care vă voi da să lucrați. Asigurați-vă că ați instalat suplimentul Office Web Components înainte de a face acest lucru, altfel obiectul Microsoft Chart nu va fi disponibil.


Faceți clic pe Instrumente și apoi pe Referințe și veți vedea o listă cu toate referințele disponibile în sistemul dvs. Dacă nu știți care sunt acestea - referințele sunt, în principiu, biblioteci de cod și obiecte pe care le puteți trage în propriul proiect. Acestea vă permit să faceți niște lucruri foarte interesante, în funcție de ce referință permiteți. Dacă tocmai ați instalat Office Web Components în sistemul dvs., va trebui să îl adăugați ca o nouă bibliotecă, deci faceți clic pe butonul Răsfoiți pentru a găsi fișierul .dll corect.

Dacă ați instalat Office Web Components, fișierul DLL se numește OWC11.dll și este stocat în fișierele c: \ program \ files common \ microsoft shared \ web components \ 11 \

Faceți clic pe caseta de selectare pentru “Microsoft Office Web Components 11.0” de referință, și, de asemenea, nu uitați să selectați “Microsoft Runtime pentru Scripting Microsoft” de asemenea, care vă va oferi accesul la citire sau scriere din fișierele de date.

Acum că ați adăugat referința, este timpul să adăugați graficul real în foaia dvs. În Excel, puteți adăuga controale făcând clic pe “Introduce” în meniul Dezvoltator și dând clic pe pictograma unelte mici din colțul de sub “Comenzile ActiveX”.

Derulați până la “Diagrama Microsoft Office 11.0” și faceți clic pe OK.

În sfârșit, ajungem la afaceri. Iată ce arată graficul Componentelor Web ale MS Web încorporat într-o foaie de calcul. Se va arăta același lucru încorporat într-un document Word sau altceva.


Deci, în cazul Excel, vreau ca graficul să încarce instantaneu datele din fișierul de date la deschiderea fișierului din registrul de lucru. Pentru a face acest lucru, intrați în editorul de cod făcând clic pe “Afișați codul” în meniul Dezvoltator și faceți dublu clic pe Workbook pentru a vedea codul din registrul de lucru. Schimbați meniul derulant din dreapta la “Deschis”. Acesta este scriptul care se va executa când fișierul din registrul de lucru este deschis pentru prima dată.


Pentru a încărca graficul cu date din cod, diagrama însăși are nevoie de un nume. Reveniți la foaia de calcul, faceți clic dreapta pe diagramă și alegeți Proprietăți. Veți vedea “Nume” câmp cu ceva de genul “ChartSpace1”. Puteți schimba acest lucru la orice. Am sunat pe a mea “MyChart”.

De asemenea, doar ca să știți care este fișierul de date - al meu este un fișier text umplut cu valori de date în format delimitat de virgulă. Acest fișier ar putea fi orice - datele de laborator exportate din senzori, informațiile financiare introduse manual în fișiere de către stagiarii sau altceva. Veți citi fișierul în codul dvs., deci nu contează cum arată datele, atât timp cât știți ce va arăta fiecare linie atunci când programul vă citește.

Deci, acum pentru partea distractivă. Îți voi arăta codul în secțiuni mici, așa că nu este copleșitor și explică ce face codul. În partea de sus a codului se citesc mai întâi toate valorile din fișierul text și se stochează în două arrayx, unul pentru x variabile (xVar) și unul pentru y variabile (yVar).

Dim Fso ca fișier nou FileSystemObject Dim fnum Dim MyFile ca șir DimDataLine ca șir Dim xVar () ca varianta Dim yVar () ca variantă Dim intNumOfLines ca intreg MyFile = "c: \ files \ MyData.txt" fnum = FreeFile () Deschideți MyFile Pentru intrare ca # 1 intNumOfLines = 0 În timp ce nu EOF (1) intNumOfLines = intNumOfLines + 1 Intrare # 1, strDataLine Intrare # 1, strDataLine Loop Închide # 1 ReDim xVar (intNumOfLines) ReDim yVar (intNumOfLines) 1 intNumOfLines = 0 În timp ce nu este EOF (1) Intrare # 1, xVar (intNumOfLines) Intrare # 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1 Loop Închidere # 1

Acest cod merge de fapt prin fișierul de date de două ori - prima dată pentru a dimensiona matricele, astfel încât acestea să fie lungimea exactă necesară pentru stocarea datelor și apoi a doua oară pentru a citi datele în acele matrice. Dacă nu știți ce este o matrice - este o variabilă sau o zonă de stocare care va conține o listă lungă de valori la care puteți acces utilizând ordinea în care valoarea a fost stocată în matrice. Cel de-al treilea încărcat ar fi (3), de exemplu.

Acum, când aveți două dintre aceste matrice încărcate cu toate valorile din fișierul de date, sunteți gata să încărcați aceste valori în graficul pe care l-ați încorporat deja. Iată codul care face asta.

Cu Sheet1.MyChart .Clear.Refresh Set oChart = .Charts.Add oChart.HasTitle = Adevărat oChart.Title.Caption = "Valorile datelor mele" 'oChart.Interior.Color = "blue" oChart.PlotArea.Interior.Color = " alb "Setați oSeries = oChart.SeriesCollection.Add cu oSeries .Caption =" Valorile datelor mele ".SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line.Color =" albastru ".Line.DashStyle = chLineDash .Line .Weight = 2 .Type = Sfârșitul liniei chChartType cu oChart.HasLegend = True oChart.Legend.Position = Sfârșitul chLegendPositionBottom cu

Este vorba de “Sheet1.MyChart” care conectează codul la graficul actual pe care l-ați încorporat. Se bazează pe ceea ce ați numit-o. Acesta va fi cazul când îl încorporați în Word, Powerpoint sau orice alt produs Office. Nu o să te referi la asta “Foaia1”, dar în schimb orice element deține graficul în acel caz, cum ar fi “document1” în Word, de exemplu.

Codul de mai sus stabilește etichetarea și colorarea graficului și apoi încarcă valorile utilizând “.setdata” pentru valorile x și y ale setului de date bidimensional. Odată ce codul de mai sus este terminat, va apărea următorul grafic.

Aceste date sunt direct din fișierul text. Singurul dezavantaj aici este că fișierele de date ar trebui să fie două dimensiuni numai dacă doriți să utilizați codul de mai sus. Ați putea adăuga mai multe valori în setul de date, dar va trebui să modificați codul de mai sus pentru a citi în fiecare a treia valoare prin bucla, apoi duplicați “SeriesCollection.Add” pentru a crea o altă serie și apoi ao adăuga la diagramă în același mod.

Poate părea complex doar citirea codului de mai sus, dar odată ce ați făcut una dintre acestea, este o bucată de tort pentru al modifica pentru orice doriți. Puteți utiliza aceeași diagramă și un cod similar pentru a crea o diagramă de bare, o diagramă de scatter sau orice alt tip de diagramă pe care doriți să îl utilizați în același obiect. Este versatilă și flexibilă - și este un instrument puternic în arsenalul dvs. dacă aveți un fan al automatizării pentru o productivitate mai mare.

Redați-vă codul de mai sus și vedeți dacă puteți încărca automat datele în aplicațiile dvs. Ce fel de utilizări creative vă puteți gândi la acest tip de automatizare? Împărtășiți-vă gândurile și feedback-ul în secțiunea de comentarii de mai jos!

Explorați mai multe despre: Microsoft Excel, Microsoft PowerPoint, Microsoft Word.