Benutzerdefinierte Datenfelder exportieren

Igrafx Professional kann Objekte mit Daten hinterlegen: Ein Doppelklick auf ein Symbol blendet die ╗Eigenschaften½ ein. Unter ╗Benutzerdefinierte Daten½ k÷nnen Sie ⁿber ╗Einrichten½ Felder hinzufⁿgen. Allerdings kann man diese nicht einfach auslesen. Dazu mⁿssen Sie Visual Basic nutzen. Starten Sie Igrafx Professional, wΣhlen Sie ein ╗Basic Diagram½ und dann ╗Tools | Visual Basic | Visual Basic Editor½. Im Fenster fⁿr Projekte ÷ffnen Sie das ╗Diagraml½ und definieren zuerst folgende Variablen: Dim igxDocument As igrafx3.Document Dim igxDiagram As Diagram Dim igxShape As Shape Dim igxCustomDataDef As CustomDataDefinitions Dim line As Recordset Dim AnObject As Object Dim i As Integer Const ForReading = 1, ForWriting = 2, ForAppending = 3 Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 Dim fs, f, ts, s Dim defval As CustomDataValue Set igxDocument = Application.ActiveDocument Set igxDiagram = Application.ActiveDocument.ActiveDiagram Set igxCustomDataDef = igxDocument.CustomDataDefinitions Dann legen Sie mit den Methoden ╗CreateObject½ und ╗CreateTextFile½ die Textdatei an: Set fs = CreateObject("Scripting.FileSystemObject") fs.CreateTextFile "C:\temp\testl.txt" Set f = fs.GetFile("C:\temp\testl.txt") Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault) Die letzte Set-Anweisung ÷ffnet die Datei zum Schreiben. Fⁿgen Sie zuerst eine Spaltenⁿberschrift mit ╗Write½ ein: ts.write "Name" For Each AnObject In igxDocument.CustomDataDefinitions ts.write "," & AnObject.Name Next Die erste Spalte erhΣlt den Titel ╗Name½; so lΣ▀t sich der Inhalt zuweisen. Die Bezeichner k÷nnen Sie ⁿber ╗AnObject.Name½ lesen. Die Werte trennt ein Komma. Zuletzt fⁿgen Sie einen Umbruch und eine Leerzeile ein: ts.write vbCrLf ts.write vbCrLf Nun mⁿssen Sie mit einer Schleife die Objektinformation lesen und in die Textdatei schreiben. Eine If-Then-Abfrage sorgt dafⁿr, dass nur Shapes ⁿbertragen werden. For Each AnObject In igxDiagram.DiagramObjects If AnObject.Type = igxObjectShape Then ts.write AnObject.Shape.Text For i = 1 To igxDocument.CustomDataDefinitions.Count ts.write "," & AnObject.CustomDataValues.Item(CInt(i)).Value Next End If ts.write vbCrLf Next Nachdem Sie die Werte in die Felder im Chart eingefⁿgt haben, k÷nnen Sie das VB-Script ausfⁿhren und das Ergebnis in der Datei TEST1.TXT im Ordner ╗C:\Temp½ ⁿberprⁿfen. Diese Datei k÷nnen Sie dann ganz einfach in Access oder Excel importieren. CHIP-Code IGRAFX