Office Web Charts
Die "Office Web Charts können bei Microsoft kostenfrei herunter geladen werden und können auch ohne Office Lizenz genutzt werden. (dann allerdings nicht interaktiv). Sie eignen sich aber um per Skript (also auch VBScript) Daten in Grafiken zu verwandeln und z.B. als GIF-Bilder abzuspeichern. Die Software ist auch Bestandteil von Office 2003. Suchen Sie mal nach OWC11.EXE auf der Installations-CD. Ansonsten können Sie natürlich auch einfach den Download bemühen:
Office 2003 Add-in: Office Web Components
http://www.microsoft.com/downloads/details.aspx?familyid=7287252c-402e-4f72-97a5-e0fd290d4b76&displaylang=en
Microsoft Office 2003 Web Components Service Pack 1 (SP1) für the 2007
Microsoft Office System
http://www.microsoft.com/downloads/details.aspx?familyid=C815DFFA-D5F3-4B71-BF46-13721BD44682&displaylang=en
Info: Die WebComponents XP
werden ab 31 July 2012 nicht mehr zum Download
bereit stehen.
Quelle:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=9468
Für .NET gibt es mit den "Microsoft Chart Controls für Microsoft .NET Framework 3.5" auf http://www.microsoft.com/download/en/details.aspx?id=14422 einen Nachfolger
Danach haben Sie aber schon alle Komponenten auf dem Computer, um automatisiert Grafiken zu erstellen. Sogar die Online Hilfe ist mit gekommen. Das liegt alles in "C:\Program Files\Common Files\Microsoft Shared\Web Components\11\1031"
Ein Musterchart
Ich habe schon etwas suchen müssen, bis ich auch unter VBScript mein erstes Chart erstellt habe. Hier ein Beispielcode, der einfach ein Chart mit drei Balken generiert. Die Daten sind hier als Konstanten hinterlegt. Es ist natürlich möglich, die Daten aus anderen Quellen zu holen, aber das ist nicht mehr Fokus der MSXFAQ.
' Create Chart Object Set oChart = CreateObject("OWC11.Chartspace") Set oChartConstants = oChart.Constants ' set global parameters oChart.Border.Color = oChartConstants.chColorNone 'set values to display sCaption = "Messagestatus" dim Categories(2), Values(2) Categories(0) = "Zugestellt" : Categories(1) = "NDR" : Categories(2) = "Unbekannt" Values(0) = 10 : Values(1) = 5 : Values(2) = 2 'generate chart oChart.Charts.Add oChart.Charts(0).Type = oChart.Constants.chChartTypeColumnClustered oChart.Charts(0).SeriesCollection.Add oChart.Charts(0).SeriesCollection(0).Caption = sCaption oChart.Charts(0).SeriesCollection(0).SetData oChartConstants.chDimCategories, oChartConstants.chDataLiteral, categories oChart.Charts(0).SeriesCollection(0).SetData oChartConstants.chDimValues, oChartConstants.chDataLiteral, values oChart.Charts(0).HasLegend = True oChart.Charts(0).HasTitle = True ' save chart as file oChart.ExportPicture ".\owc.gif", "gif", 300, 200
Hier können Sie das Beispiel auch herunter laden:
owcsample.vbs
Bitte nach dem Download als VBS-Datei speichern
Der Aufruf erfolgt wieder mit
CSCRIPT owcsample.vbs
Die Ausgabe finden Sie dann als "owc-gif" im aktuellen Verzeichnis und kann mit jedem Browser oder BIldbetrachter angezeigt werden
Verwenden aus VBA und anderen IDEs.
In den meisten EntwicklungsUmgebungen muss man den Verweis auf die DLL erst im Projekt addieren. Beim Office VBA-Editor findet man die Einstellungen unter "Extras - Verweise"
Sollte der Eintrag nicht in der Liste erscheinen, dann müssen Sie manuell über Durchsuchen erst die OWC11.DLL angeben. Im Objektkatalog kann man sich dann schön die verschiedenen Objekte und deren Methoden und Eigenschaften anschauen
Sehr hilfreich ist die im gleichen Pfad ebenfalls installierte OWCVBA11.CHM-Datei mit dem Objektmodell:
Offen
Leider konnte ich bislang nicht in Erfahrung bringen, wie ich das generierte Bild direkt auf dem Bildschirm anzeigen lassen und dabei auch noch verändern kann. Ein IE mit einer "Reload-"Funktion als Betrachter und einem Export nach jeder Änderung würde ich nicht als Lösung ansehen. Vermutlich ist dann wieder der Moment gekommen, solche Lösungen gleich mit .NET zu schreiben.
Weitere Links
-
LogParser
Nutzt OWC zur grafischen Aufbereitung von Daten - Office 2003 Add-in: Office Web Components
http://www.microsoft.com/downloads/details.aspx?familyid=7287252c-402e-4f72-97a5-e0fd290d4b76&displaylang=en - Microsoft Office 2003 Web Components Service Pack 1 (SP1) für the 2007 Microsoft Office System
http://www.microsoft.com/downloads/details.aspx?familyid=C815DFFA-D5F3-4B71-BF46-13721BD44682&displaylang=en - Create Column Chart using OWC11
http://www.codeproject.com/KB/web-image/Column-Chart.aspx - 823982 HOW TO: Handle Events für the Office 2003 Web Components in Visual Studio.NET.
- 244049 How To use Server-Side Charting to Generate Charts Dynamically
- 240263 How To Create a Combination Chart with the Chart Web Component
- 235885 How To use the Office Chart Web Component With VB
- 243192 How To use VBScript to Bind a Chart to a Spreadsheet Component
- Office Forum: owc11.exe;Digramm;Array,Office Web Componenets; Userspace1;
http://www.office-loesung.de/ftopic237391_0_0_asc.php - Charting with Office Web Components (OWC)
http://www.4guysfromrolla.com/webtech/022101-1.shtml
http://www.4guysfromrolla.com/webtech/022101-1.2.shtml
Anbindung an ODBC-Datenquellen - Microsoft Chart Controls für Microsoft .NET Framework 3.5
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14422 - Google Chart Tools
https://developers.google.com/chart/?hl=de-DE
JavaScript Klassen um Bilder zu erzeugen - Google Chart API & PowerShell
http://msPowerShell.blogspot.de/2008/01/google-chart-api-PowerShell.html