Beispiele (Download)

Daten nach Excel mit VBA exportieren

Schritt X Die Hauptschwierigkeit ist sicherlich das Einsammeln der Daten. Man kann sie in Excel in Shapes auflisten (als Text, wie beschrieben). Oder nach Excel oder eine Datenbank schreiben. Der Kunde wollte Excel: Set xlApp = CreateObject(„Excel.Application“) xlApp.Visible = False Set xlDatei = xlApp.Workbooks.Add Set xlBlatt = xlDatei.WorkSheets(1) […] For i = 0 To intAnzahlDaten … Continue reading Daten nach Excel mit VBA exportieren

Shapes löschen

Schritt IX möglicherweise müssen die neu erzeugten Shapes wieder gelöscht werden. Also muss man sie „kennzeichnen“. Dafür gibt es eine Reihe verschiedener Möglichkeiten: * Layer * Daten * benutzerdefinierte Zellen. Ich entscheide mich für Letztes. Beim Erzeugen erhalten die neuen Shapes eine benutzerdefinierte Zelle: With vsShape .AddSection visSectionUser .AddRow visSectionUser, visRowFirst, 0 .Section(visSectionUser).Row(0).Name = „Windelband“ … Continue reading Shapes löschen

Shapes beschriften und formatieren

Schritt VIII Und wie beschriftet man die neue erzeugten Rechtecke? Diese Aufgabe ist einfach – hierfür steht die Eigenschaft Text des Shapes zur Verfügung. Und wie formatiert man es? Indem die entsprechenden Zellen des ShapeSheets mit den entsprechenden Werten gefüllt werden. Tipp: Wenn Sie nicht wissen, welche Zelle für welches Schriftattribut zuständig ist, öffnen Sie … Continue reading Shapes beschriften und formatieren

Kästchen zeichnen

Schritt VII Die äußeren Racks sind „eingesammelt“, die inneren „Geräte“ ebenso. Mit „eingesammelt“ meine ich die Daten, die in Variablen und Datenfeldern gespeichert wurden. Nun sollen diese Daten unterhalb der Racks ausgegeben werden. Dazu werden Rechtecke erzeugt (DrawRectangle), die unterhalb der Shapes platziert werden: Die Breite des Racks wird berechnet: dblBreite = Abs(Application.ConvertResult(dblRechteKante(i), „mm“, „in“) … Continue reading Kästchen zeichnen

Shape innerhalb einen anderen Shapes

Schritt VI Im zweiten Schritt werden alle Shapes eingesammelt. Es wird überprüft, ob es sich dabei um ein Teil innerhalb eines Racks handelt: For i = 1 To ActivePage.Shapes.Count If ActivePage.Shapes(i).CellExists(„Prop._VisDM_ID“, False) = True Then Wenn ja, dann wird das zugehörige Rack gesucht: intTemp = WelchesRack(ActivePage.Shapes(i)) Die Funktion WelchesRack überprüft, ob sich der Pin innerhalb … Continue reading Shape innerhalb einen anderen Shapes

Shapes „einsammeln“

Schritt V: Der erste Teil der Aufgabe lautet: sammle alle Racks ein. Nun – hierzu muss man die Racks identifizieren. Dies könnte über den Namen des Mastershapes geschehen, über die Größe, über die Kennzeichnung durch Daten oder benutzerdefinierte Zellen. Ich habe mich für „Layer“ entschieden. alle Racks liegen auf dem Layer Rack. Die kann überprüft … Continue reading Shapes „einsammeln“

Informationen „merken“

Schritt IV Informationen merken. Das Angenehme an Visio ist, dass man sich „leicht“ Informationen merken kann – man kann sie an das Shape, an das Zeichenblatt oder an die Datei binden. Entweder an Daten (die auch vom Anwender geändert werden können) oder in benutzerdefinierten Zellen. Ich entschließe mich die im Dialog eingetragenen Informationen in benutzerdefinierten … Continue reading Informationen „merken“

Auf Daten einer externen Datenquelle zugreifen

Schritt III An eine Visio-Zeichnung werden Daten einer Exceltabelle gebunden. Diese sollen dem Anwender zur Auswahl stehen. Über eine Userform kann der Anwender auswählen. Beim Öffnen wird auf die Datenquelle zugegriffen und alle Spalten angezeigt: Me.Controls(„ComboBox“ & i).AddItem „Keine Auswahl“ Me.Controls(„ComboBox“ & (i + 12)).AddItem „Keine Auswahl“ For j = 1 To ActiveDocument.DataRecordsets(1).DataColumns.Count Me.Controls(„ComboBox“ & … Continue reading Auf Daten einer externen Datenquelle zugreifen

Racks zusammenfassen – Schritt 2

Schritt II Die Racks sollen Namen haben. Diese Namen sollen im Report aufgelistet werden. Und der Name soll als Beschriftung angezeigt werden. Dafür gibt es zwei Lösungen: * Man kann die Namen über die Daten eingeben. * Man kann die Namen über Entwicklertools / Shape-Name festlegen. Ich habe mich für letztere Variante entschieden. Da das … Continue reading Racks zusammenfassen – Schritt 2

Rackdaten zusammenfassen – Schritt 1

Die Aufgabe: An eine Visio-Zeichnung sind Daten gebunden. Von diesen Daten werden einige Datensätze verwendet und sollen in der Zeichnung gruppiert und summiert angezeigt werden. Ebenso sollen diese Informationen nach Excel exportiert werden. Und so habe ich es gemacht: Schritt I: Die Shapes vorbereiten. Damit die Shapes (hier: die Schränke, die Racks) „eingesammelt“ werden können, … Continue reading Rackdaten zusammenfassen – Schritt 1