Reklama
Nebolo by pekné mať možnosť otvoriť tabuľku Excel alebo dokument programu Word bez toho, aby ste museli robiť čokoľvek na všetko, dáta sa načítajú priamo z textového alebo CSV súboru a načítajú sa priamo do grafu vloženého do tabuľky alebo Wordu dokument? Je to forma automatizácie využívajúcej produkty balíka Office, pretože ak je možné automatizovať mapovanie údajov v kancelárii, porozmýšľajte o možnostiach. Môžete automaticky načítať údaje do grafu pre prehľad, ktorý zostavujete pre svojho šéfa - nie je potrebné zadávať údaje. Alebo môžete údaje načítať do grafu priamo do e-mailu v programe Outlook.
Technika na dosiahnutie tohto cieľa spočíva v inštalácii doplnku Office Web Components. Okrem toho musíte v aplikácii balíka Office nakonfigurovať niekoľko vecí, ktoré chcete použiť na import údajov, a ste pripravení začať automatizovať prácu s prehľadmi. V predchádzajúcom článku som sa zaoberal niektorými prvkami, ktoré použijeme v tomto článku Články VBA Ako si môžete vytvoriť svoju vlastnú jednoduchú aplikáciu pomocou VBA Chcete vedieť, ako vytvoriť svoju vlastnú aplikáciu VBA na riešenie problémov? Tieto tipy použite na vytvorenie vlastného softvéru VBA. Čítaj viac tu na MakeUseOf. Niektoré z nich zahŕňali odovzdávanie údajov medzi aplikácie so schránkou Poskytovanie akýchkoľvek informácií medzi aplikáciami VBA pomocou schránkyJednou z najviac frustrujúcich častí práce s VBA vo vnútri konkrétnych aplikácií je to, že nie vždy je ľahké získať dve aplikácie, aby si navzájom „rozprávali“. Môžete vyskúšať veľmi rýchle transakcie ... Čítaj viac , export Úlohy programu Outlook do programu Excel Ako exportovať svoje úlohy programu Outlook do Excelu s VBAČi už ste fanúšikom spoločnosti Microsoft, jednou z dobrých vecí, ktorá sa dá povedať aspoň o produktoch MS Office, je to, aké ľahké je integrovať každú z nich navzájom ... Čítaj viac a odosielanie E-maily z Excelu Ako odosielať e-maily z tabuľky programu Excel pomocou skriptov VBANaša šablóna kódu vám pomôže nastaviť automatické e-maily z Excelu pomocou skriptov Collaboration Data Objects (CDO) a VBA. Čítaj viac script.
Ukážem vám, ako skombinovať súčasti balíka Office Web Components so skriptovaním textových súborov a vytvoriť plynulý automatizovaný tok údajov z plochého textového súboru v počítači do produktu balíka Office (v našom prípade Excel). Rovnakú techniku môžete použiť s niekoľkými malými úpravami v programoch Word, Outlook alebo PowerPoint. Akýkoľvek produkt balíka Office (alebo akýkoľvek iný produkt v tejto veci), ktorý má vývojárov podporujúci rozhranie VBA, vám umožní používať túto techniku.
Import a vytvorenie grafu z dátových súborov
Pred vytvorením grafu z dátových súborov musíte najprv povoliť niekoľko vecí. V tomto príklade vám ukážem, ako povoliť tieto funkcie v programe Excel, ale tento proces je takmer rovnaký v každom ďalšom produkte balíka Office.
Predtým, ako budete môcť vykonať akýkoľvek vývoj VBA, musíte na paneli s nástrojmi povoliť kartu vývojára (ak ste tak ešte neurobili). Ak to chcete urobiť, stačí prejsť do ponuky Možnosti, kliknúť na položku „Prispôsobiť pásku“ a povoliť kartu „Vývojár“.
Po návrate z programu Excle sa teraz v ponukách zobrazí „Vývojár“. Kliknite na ňu a kliknite na „Režim dizajnu“. Potom kliknite na „Zobraziť kód“ a zobrazí sa editor VBA.
Vo vnútri editora je potrebné povoliť odkazy, ktoré potrebujete pre kód, ktorý vám dám. Predtým, ako to urobíte, skontrolujte, či ste doplnok Office Web Components nainštalovali, inak nebude objekt Microsoft Chart k dispozícii.
Kliknite na Nástroje a potom na Odkazy a zobrazí sa zoznam všetkých odkazov, ktoré sú k dispozícii vo vašom systéme. Ak neviete, čo to je - referencie sú v podstate knižnice kódu a objektov, ktoré môžete vtiahnuť do svojho vlastného projektu. Umožňujú vám robiť naozaj skvelé veci v závislosti od toho, aký odkaz povolíte. Ak ste do svojho systému práve nainštalovali súčasti balíka Office Web, musíte ho pridať ako novú knižnicu, takže kliknutím na tlačidlo Prehľadávať nájdete správny súbor .dll.
Ak ste nainštalovali súčasti Office Web Components, potom sa súbor DLL nazýva OWC11.dll a je uložený v priečinku c: \ program files \ common files \ microsoft shared \ web components \ 11 \
Začiarknite políčko referencie „Microsoft Office Web Components 11.0“ a nezabudnite na ňu vyberte tiež „Microsoft Scripting Runtime“, ktorý vám umožní prístup k čítaniu alebo zápisu z údajov Súbory.
Teraz, keď ste pridali referenciu, je čas pridať aktuálny graf do vášho hárku. V Exceli môžete pridať ovládacie prvky kliknutím na „Vložiť“ v ponuke Vývojár a kliknutím na ikonu malých nástrojov v rohu pod „Ovládacie prvky ActiveX“.
Prejdite na „Microsoft Office Chart 11.0“ a kliknite na OK.
Konečne sme začali podnikať. Ako vyzerá graf webovej komponenty MS, vložený do tabuľky. Bude to vyzerať rovnako zabudované do dokumentu programu Word alebo čokoľvek iného.
Takže v prípade programu Excel chcem, aby sa pri otvorení súboru zošita graf okamžite načítal z údajového súboru. Ak to chcete urobiť, prejdete do editora kódu kliknutím na „Zobraziť kód“ v ponuke Vývojár a dvojitým kliknutím na zošit zobrazíte kód zošita. Zmeňte správne rozbaľovacie menu na „Otvoriť“. Toto je skript, ktorý sa spustí pri prvom otvorení súboru zošita.
Na načítanie grafu údajmi z kódu potrebuje samotný graf meno. Vráťte sa späť do tabuľky, kliknite pravým tlačidlom myši na graf a vyberte príkaz Vlastnosti. Zobrazí sa pole „Meno“ s niečím ako „ChartSpace1“. Môžete to zmeniť na čokoľvek. Volám sa môj „MyChart“.
Tiež len viete, aký je dátový súbor - baňa je textový súbor naplnený údajovými hodnotami vo formáte oddelenom čiarkami. Týmto súborom môže byť čokoľvek - laboratórne údaje exportované zo senzorov, finančné informácie zadané do súboru manuálne stážistami alebo čokoľvek iné. Súbor si prečítate pomocou kódu, takže nezáleží na tom, ako budú dáta vyzerať, pokiaľ viete, ako bude vyzerať každý riadok, keď ho program načíta.
Takže teraz pre zábavu. Ukážem vám kód v malých sekciách, aby to neprekážalo, a vysvetlím, čo kód robí. Horná časť kódu najskôr prečíta všetky hodnoty z textového súboru a uloží ich do dvoch polí, jedna pre premenné x (xVar) a druhá pre premenné y (yVar).
Dim fso ako nový FileSystemObject. Dim fnum. Dim MyFile ako reťazec. Dim strDataLine As String. Dim xVar () ako variant. Dim yVar () ako variant. Dim intNumOfLines As Integer MyFile = "c: \ files \ MyData.txt" fnum = FreeFile () Otvorte MyFile pre vstup ako # 1. intNumOfLines = 0. Do Not EOF (1) intNumOfLines = intNumOfLines + 1 Input # 1, strDataLine Input # 1, strDataLine. Loop. Zavrieť # 1 ReDim xVar (intNumOfLines) ReDim yVar (intNumOfLines) Otvorte MyFile pre vstup ako # 1. intNumOfLines = 0. Do Not EOF (1) Input # 1, xVar (intNumOfLines) Input # 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1. Loop. Zatvoriť # 1
Tento kód v podstate prechádza dátovým súborom dvakrát - prvýkrát, keď dimenzuje polia tak, aby sú to presná dĺžka potrebná na uloženie údajov a potom podruhé, aby sa do nich mohli údaje načítať polí. Ak neviete, čo je to pole - je to premenná alebo oblasť úložiska, ktorá bude obsahovať dlhý zoznam hodnôt, ku ktorým získate prístup pomocou poradia, v ktorom bola hodnota uložená v poli. Jedna nabitá tretina by bola napríklad (3).
Teraz, keď máte dve z týchto polí načítané so všetkými hodnotami z údajového súboru, ste pripravení načítať tieto hodnoty do grafu, ktorý ste už vložili. Tu je kód, ktorý to robí.
S Sheet1.MyChart .Vymazať. Obnoviť Set oChart = .Charts. Pridať oChart. HasTitle = True oChart. Názov. Caption = oChart. Interiéru. Farba = „modrá“ oChart. PlotArea. Interiéru. Color = "white" Set oSeries = oChart. SeriesCollection. Pridať pomocou oSeries .Caption = "Moje údaje" .SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line. Farba = „modrá“. Čiara. DashStyle = chLineDash .Line. Hmotnosť = 2. Typ = chChartTypeLine Koniec s oChart. HasLegend = True. oChart. Legendou. Pozícia = chLegendPositionBottom. Koniec s
Je to „Sheet1.MyChart“, ktorý spája kód so skutočným grafom, ktorý ste vložili. Je to založené na tom, čo ste nazvali. Bude to tak, keď ho vložíte do programu Word, Powerpoint alebo iného produktu balíka Office. Nebudete to odkazovať pomocou „List1“, ale v tomto prípade namiesto toho má akýkoľvek prvok graf, napríklad „document1“ v programe Word.
Vyššie uvedený kód potom nastaví označenie a sfarbenie grafu a potom načíta hodnoty pomocou metódy „.setdata“ pre hodnoty x a y dvojrozmerného súboru údajov. Po spustení vyššie uvedeného kódu sa zobrazí nasledujúci graf.
Tieto údaje sú priamo mimo textového súboru. Jedinou nevýhodou je, že dátové súbory by museli byť dvojrozmerné, iba ak chcete použiť vyššie uvedený kód. Do množiny údajov by ste mohli pridať ďalšie hodnoty, musíte však zmeniť vyššie uvedený kód tak, aby sa zakaždým prečítala tretia hodnota v slučke, a potom duplikovať voľbu „SeriesCollection“. Pridajte časť “a vytvorte ďalšiu sériu a potom ju rovnakým spôsobom pridajte do grafu.
Môže sa to zdať zložité, keď si prečítate vyššie uvedený kód, ale po vykonaní jedného z nich je to hračka, ktorá ho upraví podľa vašich potrieb. Rovnaký graf a podobný kód by ste mohli použiť na vytvorenie stĺpcového grafu, bodového grafu alebo iného typu grafu, ktorý chcete použiť na rovnaký objekt. Je všestranný a flexibilný - a je to mocný nástroj vo vašom arzenáli, ak ste fanúšikom automatizácie pre väčšiu produktivitu.
Zahrajte si s vyššie uvedeným kódom a zistite, či môžete do svojich aplikácií automaticky načítať údaje. Aké kreatívne spôsoby použitia môžete vymyslieť pre tento typ automatizácie? Podeľte sa o svoje myšlienky a spätnú väzbu v nižšie uvedenej sekcii komentárov!
Ryan má titul bakalára v odbore elektrotechnika. Pracoval 13 rokov v automatizačnom inžinierstve, 5 rokov v IT a teraz je aplikačným inžinierom. Bývalý šéfredaktor MakeUseOf, vystúpil na národných konferenciách o vizualizácii údajov a vystupoval v celoštátnych televíziách a rozhlase.