Reklaam

loo graafikKas poleks tore, kui oleks võimalus avada lihtsalt Exceli arvutustabel või Wordi dokument ja ilma, et peaksite midagi tegema kõik loetakse andmeid otse teksti- või CSV-andmefailist ja laaditakse otse tabelisse, mis on manustatud teie arvutustabelisse või Wordi dokument? See on Office'i toodete abil automatiseerimise vorm, sest kui Office'is on võimalik andmete kaardistamist automatiseerida, mõelge lihtsalt võimalustele. Saate andmeid automaatselt laadida diagrammi, mille aruanne koostatakse ülemuse jaoks - andmete sisestamine pole vajalik. Või võite laadida diagrammi andmed otse Outlooki e-posti aadressile.

Selle saavutamiseks kasutatakse Office Web Components-i lisandmooduli installimist. Lisaks peate lihtsalt seadistama Office'i rakenduses mõned asjad, mida soovite andmete importimiseks kasutada, ja olete valmis oma aruandlustöö automatiseerimist alustama. Olen mõnes elemendis, mida selles artiklis eelmises osas kasutame, käsitletud VBA artiklid Kuidas saate oma lihtsa rakenduse teha VBA-ga

Kas soovite teada, kuidas probleemide lahendamiseks oma VBA-rakendust luua? Kasutage neid näpunäiteid oma VBA tarkvara loomiseks. Loe rohkem siin MakeUseOf'is. Üksikud neist hõlmasid andmete edastamist ühest riigist teise rakendused lõikelauaga Esitage lõikelaua abil kogu teave VBA-rakenduste vahelKonkreetsetes rakendustes VBA-ga töötamise üks pettumust valmistav osa on see, et kahte rakendust ei ole alati kerge üksteisega „rääkida“. Võite proovida väga kiireid tehinguid teha ... Loe rohkem , eksportimine Outlooki ülesanded Excelile Kuidas eksportida Outlooki ülesandeid Excelisse VBA-gaÜkskõik, kas olete Microsofti fänn või mitte, üks hea asi, mida saab vähemalt MS Office'i toodete kohta öelda, on see, kui lihtne on neid kõiki omavahel integreerida ... Loe rohkem , ja saatmine E-kirjad Excelist Kuidas saata e-kirju Exceli arvutustabelist, kasutades VBA skripteMeie koodimalli abil saate seadistada Excelis automatiseeritud e-kirju, kasutades CDO-sid ja VBA-skripte. Loe rohkem skript.

Ma näitan teile, kuidas ühendada Office Web Components tekstifaili skriptimisega, et luua sujuvat ja automatiseeritud andmevoogu teie arvuti lamedast tekstifailist teie Office'i tootele (meie puhul meie Excel). Sama tehnikat saate kasutada - mõne väikese muudatusega - Wordis, Outlookis või isegi PowerPointis. Mis tahes Office'i toode (või mis tahes muu toode, millel on arendajatele VBA taust) võimaldab teil seda tehnikat kasutada.

Impordi ja looge andmefailidest graafik

Enne andmefailidest graafiku loomist peate esmalt lubama mõned asjad. Selles näites näitan teile, kuidas neid funktsioone Excelis lubada, kuid kõigi teiste Office'i toodete puhul on protsess peaaegu identne.

Esiteks, enne kui saate VBA-vormingus arendusi teha, peate tööriistaribal lubama arendaja vahekaardi (kui te seda veel teinud pole). Selleks minge lihtsalt menüüsse Suvandid, klõpsake vahekaardil Kohanda linti ja lubage vahekaart Arendaja.

loo graafik

Excle'is nähes kuvatakse nüüd menüüdes „Arendaja”. Klõpsake seda ja siis nuppu „Kujundusrežiim”. Seejärel klõpsake VBA redigeerija nägemiseks nuppu „Vaata koodi”.

Kuidas luua diagrammi töötlemata andmefailidest mis tahes Office'i tootes VBAChart21

Redaktori sisemuses peate lubama viited, mida vajate koodi jaoks, mille ma teile tööle annan. Enne selle installimist veenduge, et olete installinud Office Web Componentsi pistikprogrammi, vastasel juhul pole Microsofti diagramm objekt saadaval.

loo graafik
Klõpsake valikul Tööriistad ja siis Viited ja näete kõigi süsteemis saadaolevate viidete loendit. Kui te ei tea, mis need on - viited on põhimõtteliselt raamatukogu koodid ja objektid, mida saate oma projekti tõmmata. Need võimaldavad teil teha mõnda väga lahedat toimingut, sõltuvalt sellest, millise viite lubate. Kui olete just oma süsteemi installinud Office Web Components, peate selle uue teegina lisama, nii et õige .dll-faili leidmiseks klõpsake nuppu Sirvi.

loo graafik

Kui olete installinud Office Web Components, nimetatakse DLL-faili nimeks OWC11.dll ja see salvestatakse kausta c: \ programmifailid \ ühised failid \ microsoft jagatud \ veebikomponendid \ 11 \
loo graafik

Klõpsake märkeruudu viite „Microsoft Office Web Components 11.0” all ja ärge unustage valige ka „Microsoft Scripting Runtime”, mis annab teile juurdepääsu andmete lugemiseks või neist kirjutamiseks faile.

Nüüd, kui olete viite lisanud, on aeg lisada oma lehele tegelik diagramm. Excelis saate juhtelemente lisada, klõpsates arendaja menüüs „Sisesta” ja klõpsates „ActiveX-i juhtelementide” all nurgas oleval väikeste tööriistade ikoonil.

Kuidas luua diagrammi töötlemata andmefailidest suvalises Office'i tootes VBAChart6

Kerige jaotiseni „Microsoft Office Chart 11.0” ja klõpsake nuppu OK.
looge graafik tasuta

Me jõuame lõpuks äri juurde. MS Web Componendi diagramm näeb arvutustabelisse manustatud välja järgmiselt. See näeb välja sama, mis on manustatud Wordi dokumenti või muusse.

looge graafik tasuta
Niisiis, Exceli puhul tahan, et diagramm laadiks töövihiku faili avamisel koheselt andmed andmefailist. Selleks sisenete koodiredaktorisse, klõpsates arendaja menüüs “Vaata koodi” ja topeltklõpsuga töövihikul, et näha töövihiku koodi. Muutke parempoolne rippmenüüks “Ava”. See on skript, mis käivitatakse tööviibifaili esmakordsel avamisel.

looge graafik tasuta
Diagrammist koodiandmetega laadimiseks vajab diagramm ise nime. Minge tagasi arvutustabelisse, paremklõpsake diagrammil ja valige Atribuudid. Näete välja „Nimi” koos midagi sellist nagu „ChartSpace1”. Saate selle muuta ükskõik milleks. Mind on kutsutud minu “MyChartiks”.
Kuidas luua diagrammi töötlemata andmefailidest mis tahes Office'i tootes VBAChart10
Samuti lihtsalt selleks, et saaksite teada, mis andmefail endast kujutab - minu oma on tekstifail, mis on andmeväärtustega täidetud komaga eraldatud vormingus. See fail võib olla ükskõik mida - anduritelt eksporditud labori andmed, internide käsitsi faili sisestatud finantsteave või midagi muud. Loete faili koos oma koodiga, nii et pole tähtis, millised andmed välja näevad, kui teate, milline näeb välja iga rida, kui teie programm seda loeb.
loo graafik
Niisiis, nüüd lõbusa osa jaoks. Ma näitan teile koodi väikestes osades, nii et see pole liiga suur, ja selgitan, mida kood teeb. Koodi ülaosa loeb kõigepealt kõik tekstifaili väärtused ja salvestab need kahte massiivi, üks x muutujate jaoks (xVar) ja üks y muutujate jaoks (yVar).

Dim fso Nagu uus FileSystemObject. Dim fnum. Dim MyFile kui string. Dim strDataLine kui string. Dim xVar () variandina. Dim yVar () variandina. Dim intNumOfLines täisarvuna MyFile = "c: \ files \ MyData.txt" fnum = FreeFile () Avage MyFile sisendiks kui nr 1. intNumOfLines = 0. Tehke, kui mitte EOF (1) intNumOfLines = intNumOfLines + 1 sisend nr 1, strDataLine sisend nr 1, strDataLine. Silmus. Sule # 1 ReDim xVar (intNumOfLines) ReDim yVar (intNumOfLines) Avage MyFile sisendiks kui nr 1. intNumOfLines = 0. Tehke, kui mitte EOF (1) Sisend nr 1, xVar (intNumOfLines) Sisend nr 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1. Silmus. Sule nr 1

Põhimõtteliselt jookseb see kood andmefailist kaks korda - massiivi esmakordselt mõõtmiseks need on täpsed andmed salvestamiseks vajalik pikkus ja seejärel teine ​​kord andmete lugemiseks nendesse massiivid. Kui te ei tea, mis massiiv on - see on muutuja või salvestuspiirkond, mis sisaldab pikka väärtuste loendit, millele pääsete juurde järjekorra abil, mille järgi väärtus massiivi salvestati. Üks laaditud kolmandik oleks näiteks (3).

Nüüd, kui teil on kaks neist massiividest laaditud koos kõigi andmefaili väärtustega, olete valmis laadima need väärtused juba manustatud diagrammi. Siin on kood, mis seda teeb.

Seadmega Sheet1.MyChart .Clear .Refresh Set oChart = .Charts. Lisage oChart. HasTitle = True oChart. Pealkiri. Pealdis = "Minu andmete väärtused" 'oChart. Interjöör. Värv = "sinine" oChart. PlotArea. Interjöör. Värv = "valge" Määra oSeries = oChart. SeriesCollection. Lisage oSeriesiga .Caption = "Minu andmete väärtused" .SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line. Värv = "sinine" .Line. DashStyle = chLineDash .Line. Kaal = 2 .Tüüp = chChartTypeLine lõpeb oChartiga. HasLegend = tõsi. oChart. Legend. Asend = chLegendPositionBottom. Lõpuks

See on leht „Sheet1.MyChart”, mis ühendab koodi tegeliku manustatud diagrammiga. See põhineb sellel, mida te selle nimetasite. See juhtub siis, kui manustate selle Wordi, Powerpointi või mõnda muusse Office'i tootesse. Te ei viita sellele, kasutades lehte „Sheet1”, vaid selle asemel, ükskõik milline element hoiab diagrammi, näiteks Wordis „document1”.

Ülaltoodud kood seab graafiku märgistamise ja värvimise ning laadib seejärel väärtused, kasutades “setdata” meetodit, kahemõõtmelise andmestiku nii x kui ka y väärtuse jaoks. Kui ülaltoodud kood on töötatud, kuvatakse järgmine graafik.
loo graafik

Need andmed on otse tekstifailist väljas. Ainus puudus on see, et andmefailid peaksid olema kahemõõtmelised ainult siis, kui soovite kasutada ülaltoodud koodi. Andmekogumisse võiksite lisada rohkem väärtusi, kuid peate ülaltoodud koodi muutma, et lugeda iga kord kolmas silmus läbi silmuse ja seejärel kopeerida „SeriesCollection. Lisa ”, et luua uus seeria ja lisada see samal viisil diagrammile.

See võib tunduda keeruline, kui lugeda ülaltoodud koodi, kuid kui olete ühe neist valmis teinud, on see koogitükk, mida saate seda vastavalt oma vajadustele muuta. Sama diagrammi ja samalaadset koodi saate kasutada tulpdiagrammi, hajuvusdiagrammi või mõne muu diagrammi tüübi loomiseks, mida soovite sama objekti kasutamisel. See on mitmekülgne ja paindlik - ning see on võimas tööriist teie arsenalis, kui olete suurema tootlikkuse nimel automaatika fänn.

Mängige ülaltoodud koodiga ja vaadake, kas saate andmeid oma rakendustesse automaatselt laadida. Milliseid loomingulisi kasutusvõimalusi saate seda tüüpi automatiseerimiseks mõelda? Jagage oma mõtteid ja tagasisidet allpool olevas kommentaaride jaotises!

Ryanil on bakalaureuse kraad elektrotehnika alal. Ta on töötanud 13 aastat automatiseerimise alal, 5 aastat IT alal ja on nüüd rakenduste insener. MakeUseOfi endine tegevtoimetaja, ta on rääkinud andmete visualiseerimise riiklikel konverentsidel ja teda on kajastatud üleriigilises televisioonis ja raadios.