Jak vytvořit graf ze surových datových souborů v jakémkoli kancelářském produktu

  • Lesley Fowler
  • 0
  • 5030
  • 1051
reklama

Nebylo by hezké mít možnost otevřít tabulku Excel nebo dokument aplikace Word, aniž by bylo nutné vůbec něco dělat, data se načtou přímo z textového nebo souborového souboru CSV a načtou se přímo do vloženého grafu do tabulky nebo dokumentu Wordu? 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 sestavu, kterou 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 sady 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é z prvků, které budeme používat v tomto článku v předchozích článcích VBA Jak si můžete vytvořit svůj vlastní jednoduchý program s VBA Jak si můžete udělat svůj vlastní jednoduchý program s VBA Pro ty z vás, kteří by se opravdu rádi Abych mohl napsat vlastní aplikaci, ale nikdy jsem nikdy nenapsal jediný řádek kódu, budu vás procházet vytvořením vašeho ... tady na MakeUseOf. Některé z nich zahrnovaly předávání dat mezi aplikacemi pomocí schránky Předávání jakékoli informace mezi aplikacemi VBA pomocí schránky Předávání jakékoli informace mezi aplikacemi VBA pomocí schránky Jedna z nejvíce frustrujících částí práce s VBA uvnitř konkrétních aplikací je, že to není vždy snadné získat dvě aplikace “mluvit” navzájem. Můžete vyzkoušet velmi rychlé transakce…, export úkolů aplikace Outlook do aplikace Excel Jak exportovat úkoly aplikace Outlook do aplikace Excel s VBA Jak exportovat úkoly aplikace Outlook do aplikace Excel s VBA Ať už jste fanouškem společnosti Microsoft, jedna dobrá věc, která může být o produktech MS Office je alespoň to, jak snadné je integrovat každou z nich navzájem… a odesílání e-mailů z Excelu Jak posílat e-maily z tabulky Excelu pomocí skriptů VBA Jak posílat e-maily z tabulky Excelu pomocí Skripty VBA Naše kódová šablona vám pomůže nastavit automatické e-maily z aplikace Excel pomocí skriptů Collaboration Data Objects (CDO) a VBA. skript.

Ukážu vám, jak kombinovat součásti Office Web Components se skriptováním textových souborů a vytvořit tak plynulý automatizovaný tok dat z plochého textového souboru v počítači do produktu Office (v našem případě Excel). Stejnou techniku ​​můžete použít - s několika malými úpravami - v aplikaci Word, Outlook nebo PowerPoint. Jakýkoli produkt Office (nebo jakýkoli jiný produkt v této věci), který má back-end VBA pro vývojáře, vám umožní použít tuto techniku.

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 Office.

Nejprve musíte provést vývoj VBA, musíte povolit kartu vývojáře na panelu nástrojů (pokud jste tak již neučinili). Chcete-li to provést, stačí přejít do nabídky Možnosti, klikněte na “Přizpůsobte pás karet” a povolit “Vývojář” tab.

Zpět v Excle, uvidíte nyní “Vývojář” zobrazí se v nabídkách. Klikněte na něj a klikněte na “Režim návrhu”. Poté klikněte na “Zobrazit kód” vidět 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, budete je muset 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 pro “Microsoft Office Web Components 11.0” reference a také nezapomeňte vybrat “Microsoft Scripting Runtime” také vám umožní přístup ke čtení nebo zápisu z datových souborů.

Nyní, když jste přidali odkaz, je čas přidat aktuální graf do vašeho listu. V Excelu můžete přidat ovládací prvky kliknutím na “Vložit” v nabídce Vývojář a klepnutím na ikonu malých nástrojů v rohu pod “Ovládací prvky ActiveX”.

Přejděte na “Tabulka Microsoft Office 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ě Excelu chci, aby graf po otevření souboru sešitu okamžitě načítal data 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 poklepáním na sešit zobrazíte kód sešitu. Změňte pravé rozbalovací menu na “otevřeno”. 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 “název” pole s něčím jako “ChartSpace1”. Můžete to změnit na cokoli. Zavolal jsem můj “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, jednu pro proměnné x (xVar) a druhou pro proměnné y (yVar)..

Dim fso As New FileSystemObject Dim fnum Dim MyFile As String Dim strDataLine As String Dim xVar () As Variant Dim yVar () As Variant Dim intNumOfLines As Integer MyFile = "c: \ files \ MyData.txt" fnum = FreeFile () Otevřete MyFile Pro vstup jako # 1 intNumOfLines = 0 Do I když není EOF (1) intNumOfLines = intNumOfLines + 1 Vstup # 1, strDataLine Vstup # 1, strDataLine Loop Zavřít # 1 ReDim xVar (intNumOfLines) Otevřít MyFile # Vstup MyFile # Vstup 1 intNumOfLines = 0 Do I Not EOF (1) Input # 1, xVar (intNumOfLines) Input # 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1 Loop Close # 1

Tento kód v podstatě prochází datovým souborem dvakrát - poprvé, kdy se dimenzují pole tak, aby byla přesná délka potřebná k uložení dat, a poté podruhé, aby se data do těchto polí načítala. Pokud nevíte, co je 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 v poli. 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 Sheet1.MyChart .Clear .Refresh Set oChart = .Charts.Add oChart.HasTitle = True oChart.Title.Caption = "Hodnoty mých dat" 'oChart.Interior.Color = "modrý" oChart.PlotArea.Interior.Color = " bílá "Set oSeries = oChart.SeriesCollection.Add With oSeries .Caption =" My Data Values ​​".SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line.Color =" blue ".Line.DashDashle = chrome. .Weight = 2 .Type = chChartTypeLine End With oChart.HasLegend = True oChart.Legend.Position = chLegendPositionBottom End with

Je to “List1.MyChart” který spojí kód se skutečným grafem, který jste vložili. Je to na základě toho, jak jste to pojmenovali. To se stane, když jej vložíte do aplikace Word, Powerpoint nebo jiného produktu sady Office. Nebudete to odkazovat pomocí “List1”, ale místo toho má v tomto případě jakýkoli prvek graf, například “document1” například v aplikaci Word.

Výše uvedený kód potom nastaví označení a zbarvení grafu a poté načte hodnoty pomocí “.setdata” metoda 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, ale je třeba změnit výše uvedený kód, aby se pokaždé přečetla třetí hodnota skrz smyčku, a pak duplikovat “SeriesCollection.Add” V sekci vytvořte další řadu a stejným způsobem ji přidejte 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 jste spoluobčanem automatizace pro větší produktivitu.

!




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.