reklama
Nebylo by hezké mít možnost otevřít tabulku Excel nebo dokument aplikace Word, aniž byste museli cokoli dělat na vše, data se načtou přímo z textového nebo CSV datového souboru a načtou se přímo do grafu vloženého do tabulky nebo Wordu dokument? Jedná se o formu automatizace využívající produkty sady Office, protože pokud je možné automatizovat mapování dat v sadě Office, přemýšlejte jen o možnostech. Můžete automaticky načíst data do grafu pro přehled, který sestavujete pro svého šéfa - není třeba zadávat žádné údaje. Nebo můžete načíst data do grafu přímo do e-mailu v aplikaci Outlook.
Technika, jak toho dosáhnout, je instalace doplňku Office Web Components. Kromě toho musíte v aplikaci Office nakonfigurovat několik věcí, které chcete použít k importu dat, a jste připraveni zahájit automatizaci práce s přehledy. Pokryl jsem některé prvky, které budeme v tomto článku používat v předchozím Články VBA Jak si můžete vytvořit vlastní jednoduchou aplikaci s VBAChcete vědět, jak vytvořit vlastní aplikaci VBA pro řešení problémů? Tyto tipy použijte k vytvoření vlastního softwaru VBA. Přečtěte si více zde na MakeUseOf. Některé z nich zahrnovaly předávání dat mezi aplikace se schránkou Předávání jakékoli informace mezi aplikacemi VBA pomocí schránkyJednou z nejvíce frustrujících částí práce s VBA v konkrétních aplikacích je to, že není vždy snadné přimět dvě aplikace, aby si „vzájemně povídaly“. Můžete vyzkoušet velmi rychlé transakce ... Přečtěte si více , export Úkoly aplikace Outlook do aplikace Excel Jak exportovat úkoly aplikace Outlook do Excelu pomocí VBAAť už jste fanouškem společnosti Microsoft, jednou z dobrých věcí, kterou lze alespoň říci o produktech MS Office, je to, jak snadné je integrovat každou z nich navzájem ... Přečtěte si více , a odesílání E-maily z Excelu Jak posílat e-maily z tabulky Excel pomocí skriptů VBANaše šablona kódu vám pomůže nastavit automatické e-maily z aplikace Excel pomocí skriptů Collaboration Data Objects (CDO) a VBA. Přečtěte si více skript.
Ukážu vám, jak kombinovat součásti Office Web Components s skriptováním textových souborů a vytvořit plynulý automatizovaný tok dat z plochého textového souboru v počítači do produktu sady Office (v našem případě Vynikat). Stejnou techniku můžete použít - s několika malými úpravami - v aplikaci Word, Outlook nebo PowerPoint. Jakýkoli produkt sady Office (nebo jakýkoli jiný produkt v této věci), který má back-end VBA pro vývojáře, vám umožní tuto techniku použít.
Import a vytvoření grafu z datových souborů
Než budete moci vytvořit graf z datových souborů, musíte nejprve povolit několik věcí. V tomto příkladu vám ukážu, jak povolit tyto funkce v Excelu, ale tento proces je téměř stejný v každém dalším produktu sady Office.
Předtím, než budete moci provést jakýkoli vývoj VBA, musíte na panelu nástrojů povolit kartu vývojáře (pokud jste tak již neučinili). Chcete-li to provést, stačí přejít do nabídky Možnosti, kliknout na „Přizpůsobit pás karet“ a povolit kartu „Vývojář“.
V Excle se nyní v nabídkách zobrazí „Developer“. Klikněte na něj a klikněte na „Design Mode“. Poté klikněte na „Zobrazit kód“ a zobrazí se editor VBA.
Uvnitř editoru je místo, kde budete muset povolit odkazy, které budete potřebovat pro kód, který vám dám do práce. Než to provedete, ujistěte se, že jste nainstalovali doplněk Office Web Components, jinak nebude objekt Microsoft Chart k dispozici.
Klikněte na Nástroje a poté na Odkazy a zobrazí se seznam všech odkazů, které jsou k dispozici ve vašem systému. Pokud nevíte, co to je - odkazy jsou v zásadě knihovny kódu a objektů, které můžete vytáhnout do svého vlastního projektu. Umožňují vám dělat opravdu skvělé věci podle toho, jaký odkaz povolíte. Pokud jste do systému právě nainstalovali součásti Office Web Components, musíte je přidat jako novou knihovnu, takže kliknutím na tlačítko Procházet vyhledejte správný soubor .dll.
Pokud jste nainstalovali součásti Office Web Components, pak se soubor DLL nazývá OWC11.dll a je uložen v c: \ program files \ common files \ microsoft shared \ web components \ 11 \
Zaškrtněte políčko u odkazu „Microsoft Office Web Components 11.0“ a nezapomeňte také vyberte také „Microsoft Scripting Runtime“, které vám umožní přístup ke čtení nebo zápisu z dat soubory.
Nyní, když jste přidali odkaz, je čas přidat aktuální graf do listu. V Excelu můžete přidat ovládací prvky kliknutím na „Vložit“ v nabídce Vývojář a kliknutím na ikonu malých nástrojů v rohu pod „Ovládací prvky ActiveX“.
Přejděte na „Microsoft Office Chart 11.0“ a klikněte na OK.
Konečně jsme začali podnikat. Zde je ukázka, jak vypadá graf MS Web Component vložený do tabulky. Bude to vypadat stejně jako dokument Word nebo cokoli jiného.
Takže v případě aplikace Excel chci, aby se graf po otevření souboru sešitu okamžitě načítal z datového souboru. Chcete-li to provést, přejděte do editoru kódu kliknutím na „Zobrazit kód“ v nabídce Vývojář a dvojitým kliknutím na sešit zobrazíte kód sešitu. Změňte pravé rozbalovací menu na „Otevřít“. Toto je skript, který se spustí při prvním otevření souboru sešitu.
K načtení grafu daty z kódu potřebuje graf sám název. Vraťte se zpět do tabulky, klikněte pravým tlačítkem na graf a zvolte Vlastnosti. Uvidíte pole „Jméno“ s něčím jako „ChartSpace1“. Můžete to změnit na cokoli. Říkal jsem tomu „MyChart“.
Také jen proto, abyste věděli, jaký je datový soubor - moje je textový soubor plný hodnot dat ve formátu odděleném čárkami. Tímto souborem může být cokoli - laboratorní data exportovaná ze senzorů, finanční informace zadané do souboru ručně stážisty, nebo cokoli jiného. Soubor si přečtete pomocí kódu, takže nezáleží na tom, jak data vypadají, pokud víte, jak bude vypadat každý řádek, když jej program načte.
Takže nyní pro zábavu. Ukážu vám kód v malých sekcích, takže to není ohromující, a vysvětlím, co kód dělá. Horní část kódu nejprve přečte všechny hodnoty z textového souboru a uloží je do dvou matic, jedna pro proměnné x (xVar) a druhá pro proměnné y (yVar).
Dim fso jako nový FileSystemObject. Dim fnum. Dim MyFile jako řetězec. Dim strDataLine As String. Dim xVar () jako varianta. Dim yVar () jako varianta. Dim intNumOfLines As Integer MyFile = "c: \ files \ MyData.txt" fnum = FreeFile () Otevřít MyFile pro vstup jako # 1. intNumOfLines = 0. Do Not EOF (1) intNumOfLines = intNumOfLines + 1 Input # 1, strDataLine Input # 1, strDataLine. Smyčka. Zavřít # 1 ReDim xVar (intNumOfLines) ReDim yVar (intNumOfLines) Otevřete MyFile pro vstup jako # 1. intNumOfLines = 0. Do Not EOF (1) Input # 1, xVar (intNumOfLines) Input # 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1. Smyčka. Zavřít # 1
Tento kód v podstatě prochází datovým souborem dvakrát - poprvé dimenze polí tak, aby jedná se o přesnou délku potřebnou k uložení dat a podruhé k načtení dat do nich pole. Pokud nevíte, co je to pole - je to proměnná nebo oblast úložiště, která bude obsahovat dlouhý seznam hodnot, ke kterým můžete přistupovat pomocí pořadí, ve kterém byla hodnota uložena do pole. Jedna naložená třetina by byla například (3).
Nyní, když máte dvě z těchto polí načtena se všemi hodnotami z datového souboru, jste připraveni načíst tyto hodnoty do grafu, který jste již vložili. Tady je kód, který to dělá.
S List1.MyChart .Clear .Refresh Set oChart = .Charts. Přidat oChart. HasTitle = True oChart. Titul. Caption = "My Data Values" 'oChart. Interiér. Barva = "modrá" oChart. PlotArea. Interiér. Barva = "bílá" Nastavit oSeries = oChart. SeriesCollection. Přidat pomocí oSeries .Caption = "Moje data" .SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line. Barva = "modrá". Čára. DashStyle = chLineDash .Line. Hmotnost = 2. Typ = chChartTypeLine Konec s oChart. HasLegend = True. oChart. Legenda. Pozice = chLegendPositionBottom. Konec s
Je to „Sheet1.MyChart“, který spojuje kód se skutečným grafem, který jste vložili. Je založeno na tom, co jste jmenovali. To se stane, když jej vložíte do aplikace Word, Powerpoint nebo jiného produktu sady Office. Nebudete na to odkazovat pomocí „List1“, ale místo toho má v tomto případě jakýkoli prvek graf, například „document1“ v aplikaci Word.
Výše uvedený kód poté nastaví označení a zbarvení grafu a poté načte hodnoty pomocí metody „.setdata“ pro hodnoty x a y dvourozměrného datového souboru. Jakmile je výše uvedený kód spuštěn, zobrazí se následující graf.
Tato data jsou přímo mimo textový soubor. Jedinou nevýhodou je, že datové soubory by musely být dvourozměrné, pouze pokud chcete použít výše uvedený kód. Do datové sady byste mohli přidat více hodnot, musíte však změnit výše uvedený kód, aby se pokaždé přečetla třetí hodnota skrz smyčku, a pak duplikovat „SeriesCollection“. Přidat “vytvoříte další řadu a poté ji stejným způsobem přidáte do grafu.
Může se to zdát složité, když si přečtete výše uvedený kód, ale jakmile uděláte jeden z nich, je to kousek koláče, který jej upraví podle vašich potřeb. Stejný graf a podobný kód můžete použít k vytvoření sloupcového grafu, rozptylového grafu nebo jakéhokoli jiného typu grafu, který chcete použít stejný objekt. Je to univerzální a flexibilní - a je to mocný nástroj ve vašem arzenálu, pokud máte spolu s fanoušky automatizace větší produktivitu.
Hrajte si s výše uvedeným kódem a zjistěte, zda můžete do aplikací automaticky načítat data. Jaká kreativní použití si můžete vymyslet pro tento typ automatizace? Podělte se o své myšlenky a zpětnou vazbu v sekci níže!
Ryan má bakalářský titul z elektrotechniky. Pracoval 13 let v automatizační technice, 5 let v IT a nyní je Apps Engineer. Bývalý šéfredaktor MakeUseOf, vystoupil na národních konferencích o vizualizaci dat a vystupoval v národních televizích a rádiích.