Mainos

luo kaavioEikö olisi hienoa, jos kyky avata vain Excel-laskentataulukko tai Word-asiakirja ja ilman, että sinun pitäisi tehdä mitään osoitteessa kaikki tiedot luetaan suoraan teksti- tai CSV-tiedostosta ja ladataan suoraan taulukkoon, joka on upotettu laskentataulukkoon tai Wordiin asiakirja? Tämä on eräänlainen automaatio, joka käyttää Office-tuotteita, koska jos on mahdollista automatisoida tietojen kartoitus Officessa, ajatelkaa mahdollisuuksia. Voit ladata tiedot automaattisesti kaavioon raportista, jonka olet laatinut pomollesi - tietoja ei tarvita. Tai voit ladata tietoja kaavioon suoraan Outlookin sähköpostiin.

Tämän suorittamiseen sisältyy Office Web Components -apuohjelman asentaminen. Lisäksi sinun on määritettävä vain muutama asia Office-sovelluksen sisällä, jota haluat käyttää tietojen tuontiin, ja olet valmis aloittamaan raportointityön automatisoinnin. Olen käsitellyt joitain elementtejä, joita aiomme käyttää tässä artikkelissa aikaisemmin VBA-artikkelit Kuinka voit tehdä oman yksinkertaisen sovelluksesi VBA: lla

Haluatko tietää, miten voit luoda oman VBA-sovelluksesi ongelmien ratkaisemiseksi? Käytä näitä vinkkejä oman VBA-ohjelmiston luomiseen. Lue lisää täällä MakeUseOf. Muutamat näistä sisälsivät tiedonsiirtoa välillä sovellukset leikepöydällä Välitä kaikki tiedot VBA-sovellusten välillä leikepöydälläYksi turhauttavimmista osista VBA: n kanssa työskentelemisessä tiettyjen sovellusten sisällä on, että kahden sovelluksen saaminen “puhumaan” keskenään ei ole aina helppoa. Voit kokeilla erittäin nopeita tapahtumia ... Lue lisää , vientiä Outlook-tehtävät Excelille Kuinka viedä Outlook-tehtäväsi Excel-tiedostoon VBA: n avullaOlitpa Microsoftin fani vai ei, yksi hyvä asia, joka voidaan sanoa ainakin MS Office -tuotteista, on kuinka helppo on integroida jokainen niistä toisiinsa ... Lue lisää , ja lähettäminen Sähköpostit Excelistä Kuinka sähköpostit lähetetään Excel-taulukosta VBA-skriptejä käyttämälläKoodimallimme auttaa sinua määrittämään automatisoidut sähköpostit Excelissä käyttämällä CDO- ja VBA-komentosarjoja. Lue lisää script.

Aion näyttää sinulle, kuinka yhdistää Office Web Components tekstitiedostojen komentosarjoihin luodaksesi saumaton, automatisoitu tietovirta tietokoneen tasaisesta tekstitiedostosta Office-tuotteeseesi (meidän tapauksessamme Excel). Voit käyttää samaa tekniikkaa - muutamalla pienellä modifikaatiolla - Wordissa, Outlookissa tai jopa PowerPointissa. Mikä tahansa Office-tuote (tai mikä tahansa muu asiasta vastaava tuote), jolla on kehittäjille VBA-tausta, antaa sinun käyttää tätä tekniikkaa.

Tuo ja luo kaavio datatiedostoista

Ennen kuin voit luoda kaavion datatiedostoista, sinun on ensin otettava käyttöön muutama asia. Tässä esimerkissä aion näyttää sinulle, kuinka ottaa nämä ominaisuudet käyttöön Excelissä, mutta prosessi on melkein identtinen kaikissa muissa Office-tuotteissa.

Ensinnäkin, ennen kuin voit tehdä mitään VBA-kehitystyötä, sinun on otettava käyttöön työkalurivin Kehittäjä-välilehti (jos et vielä ole). Tätä varten mene vain Asetukset-valikkoon, napsauta ”Mukauta nauha” ja ota käyttöön Kehittäjä-välilehti.

luo kaavio

Excle-versiossa näet nyt “Kehittäjän” näkyvän valikoissa. Napsauta sitä ja napsauta “Suunnittelutila”. Napsauta sitten ”Näytä koodi” nähdäksesi VBA-editorin.

Kuinka luoda kaavio raakatiedostoista missä tahansa Office-tuotteessa VBAChart21

Toimittajan sisällä sinun on otettava käyttöön tarvittavat viitteet koodille, jonka aion antaa sinulle työskennellä. Varmista, että olet asentanut Office Web Components -apuohjelman ennen kuin teet tämän, muuten Microsoft Chart -objekti ei ole käytettävissä.

luo kaavio
Napsauta Työkalut ja sitten Viitteet ja näet luettelon kaikista viitteistä, jotka ovat käytettävissä järjestelmässäsi. Jos et tiedä mitä nämä ovat - viitteet ovat periaatteessa kirjastojen koodeja ja esineitä, jotka voit vetää omassa projektissasi. Niiden avulla voit tehdä todella hienoja asioita, riippuen siitä, minkä referenssin otat käyttöön. Jos olet juuri asentanut Office Web Components järjestelmään, sinun on lisättävä se uudeksi kirjastoksi, joten napsauta Selaa-painiketta löytääksesi oikean .dll-tiedoston.

luo kaavio

Jos olet asentanut Office Web Components, DLL-tiedoston nimi on OWC11.dll, ja se on tallennettu kansioon c: \ ohjelmatiedostot \ yleiset tiedostot \ microsoft jaetut \ web-komponentit \ 11 \
luo kaavio

Napsauta ”Microsoft Office Web Components 11.0” -viitevalintaruutua, älä myöskään unohda Valitse myös ”Microsoft Scripting Runtime”, joka antaa sinulle pääsyn lukea tai kirjoittaa tiedoista tiedostot.

Nyt kun olet lisännyt viitteen, on aika lisätä todellinen kaavio arkillesi. Excelissä voit lisätä ohjaimia napsauttamalla Kehittäjä-valikon Lisää-painiketta ja napsauttamalla pieniä työkalukuvakkeita nurkassa, ”ActiveX-ohjaimet”.

Kuinka luoda kaavio raakatiedostoista missä tahansa Office-tuotteessa VBAChart6

Vieritä kohtaan “Microsoft Office Chart 11.0” ja napsauta OK.
luo kaavio ilmaiseksi

Olemme lopulta aloittamassa liiketoimintaa. Tässä on, mitä MS Web Component -kaavio näyttää upotettuna laskentataulukkoon. Se näyttää samalta upotettuna Word-asiakirjaan tai muuhun.

luo kaavio ilmaiseksi
Joten haluan Excelin tapauksessa, että kaavio lataa heti tietoja datatiedostosta, kun avaat työkirjan tiedoston. Voit tehdä tämän siirtymällä koodieditoriin napsauttamalla Kehittäjä-valikon Näytä koodi -kohtaa ja kaksoisnapsauttamalla työkirjaa nähdäksesi työkirjan koodin. Vaihda oikea avattava kohtaan “Avaa”. Tämä on komentosarja, joka suoritetaan, kun työkirjan tiedosto avataan ensimmäisen kerran.

luo kaavio ilmaiseksi
Kaaviossa olevien tietojen lataamiseksi koodista itse kaavio tarvitsee nimen. Palaa laskentataulukkoon, napsauta kaaviota hiiren kakkospainikkeella ja valitse Ominaisuudet. Näet Nimi-kentän, jolla on jotain "ChartSpace1". Voit muuttaa tämän mihin tahansa. Minua on kutsuttu nimellä MyChart.
Kuinka luoda kaavio raakatiedostoista missä tahansa Office-tuotteessa VBAChart10
Lisäksi vain, jotta tiedät millainen tiedosto on - minun on tekstitiedosto, joka on täynnä data-arvoja pilkuilla erotetussa muodossa. Tämä tiedosto voi olla mikä tahansa - sensoreista viedyt laboratoriotiedot, harjoittelijoiden manuaalisesti tiedostoon kirjoittamat taloudelliset tiedot tai muu muu. Luet tiedostoa koodillasi, joten sillä ei ole väliä miltä tiedot näyttävät, kunhan tiedät miltä kukin rivi näyttää, kun ohjelma lukee sen.
luo kaavio
Joten, nyt hauskanpitoon. Aion näyttää koodin pieninä osina, jotta se ei ole ylivoimainen, ja selittää, mitä koodi tekee. Koodin yläosa lukee ensin kaikki tekstitiedoston arvot ja tallentaa ne kahteen matriisiin, yksi x-muuttujille (xVar) ja yksi y-muuttujille (yVar).

Dim fso Uutena FileSystemObject-tiedostona. Dim fnum. Dim MyFile merkkijonona. Dim strDataLine merkkijonona. Dim xVar () Variantina. Dim yVar () Variantina. Dim intNumOfLines kokonaislukuna MyFile = "c: \ tiedostot \ MyData.txt" fnum = FreeFile () Avaa MyFile syötteelle nimellä # 1. intNumOfLines = 0. Tee, kun ei EOF (1) intNumOfLines = intNumOfLines + 1 sisääntulo # 1, strDataLine tulo # 1, strDataLine. Silmukka. Sulje # 1 ReDim xVar (intNumOfLines) ReDim yVar (intNumOfLines) Avaa MyFile syötteelle nimellä # 1. intNumOfLines = 0. Tee, kun ei EOF (1) Tulo # 1, xVar (intNumOfLines) Tulo # 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1. Silmukka. Sulje # 1

Tämä koodi kulkee periaatteessa datatiedoston läpi kahdesti - ensimmäinen kerta mitoittaa taulukot siten, että ne ovat tarkka pituus, jota tarvitaan tietojen tallentamiseen, ja sitten toisen kerran tietojen lukemiseen niihin taulukot. Jos et tiedä, mikä on taulukko - se on muuttuja tai tallennusalue, joka sisältää pitkän luettelon arvoista, joihin pääset käyttämään järjestystä, jonka mukaan arvo on tallennettu taulukkoon. Yksi ladattu kolmasosa olisi esimerkiksi (3).

Nyt kun sinulla on kaksi näistä taulukoista ladattu kaikilla tiedostosi arvoilla, olet valmis lataamaan nämä arvot jo upotettuun kaavioon. Tässä on koodi, joka tekee sen.

Sheet1.MyChart .Clear .Refresh Set oChart = .Charts. Lisää oChart. HasTitle = True oChart. Otsikko. Kuvateksti = "Oman tietoni arvot" 'oChart. Sisustus. Väri = "sininen" oChart. PlotArea. Sisustus. Väri = "valkoinen" Aseta oSeries = oChart. SeriesCollection. Lisää oSeriesilla .Caption = "Omat tietoarvot" .SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line. Väri = "sininen" .linja. DashStyle = chLineDash .Line. Paino = 2 .Type = chChartTypeLine End with oChart. HasLegend = Totta. oChart. Legenda. Sijainti = chLegendPositionBottom. Lopeta

Se on ”Sheet1.MyChart”, joka yhdistää koodin upottamasi todelliseen kaavioon. Se perustuu siihen, minkä nimit. Näin on, kun upotat sen Wordiin, Powerpointiin tai muuhun Office-tuotteeseen. Et viittaa siihen käyttämällä ”Sheet1”, mutta sen sijaan mikä tahansa elementti pitää siinä tapauksessa kaavion, kuten esimerkiksi Wordin “document1”.

Yllä oleva koodi asettaa sitten kuvaajan merkinnät ja värit ja lataa sitten arvot käyttämällä .setdata-menetelmää 2-ulotteisen tietojoukon sekä x- että y-arvoille. Kun yllä oleva koodi on suoritettu ajoon, seuraava kaavio tulee näkyviin.
luo kaavio

Nämä tiedot ovat suoraan tekstitiedostosta. Ainoa haittapuoli on, että datatiedostojen on oltava kaksiulotteisia vain, jos haluat käyttää yllä olevaa koodia. Voit lisätä lisää arvoja tietojoukkoon, mutta joudut muokkaamaan yllä olevaa koodia lukemaan kolmannen arvon joka kerta silmukan läpi ja kopioimaan sitten ”Sarjakokoelma”. Lisää ”-osa luodaksesi uuden sarjan ja lisää se sitten kaavioon samalla tavalla.

Se voi tuntua monimutkaiselta vain lukemalla yllä oleva koodi, mutta kun olet tehnyt yhden näistä, se on pala kakkua muokataksesi sitä tarpeitasi varten. Voit käyttää samaa kaaviota ja vastaavaa koodia luodaksesi pylväskaavion, sirontakaavion tai minkä tahansa muun kaavotyypin, jota haluat käyttää samaa objektia. Se on monipuolinen ja joustava - ja se on tehokas työkalu arsenaalissasi, jos olet automaatiofanisteja tuottavuuden parantamiseksi.

Pelaa ympäri yllä olevaa koodia ja katso, voitko ladata tietoja sovelluksiin automaattisesti. Mitä luovia käyttötarkoituksia voit lukea tämän tyyppiselle automaatiolle? Jaa ajatuksesi ja palautesi alla olevassa kommenttiosassa!

Ryanilla on BSc-tutkinto sähkötekniikasta. Hän on työskennellyt 13 vuotta automaatiotekniikassa, 5 vuotta IT: ssä ja on nyt sovellusinsinööri. MakeUseOfin entinen toimitusjohtaja, hänet puhutaan kansallisissa konferensseissa datan visualisoinnista ja hänet on esitelty kansallisessa televisiossa ja radiossa.