Eigene Shapes mit VBA erzeugen

Ich überarbeite gerade mein Visio-Programmierbuch. Ich bin beim Kapitel per Programmierung neue Shapes erzeugen, beispielsweise Rechtecke oder Kreise:
Soll auf dem Zeichenblatt ein Rechteck gezeichnet werden, ist dafür der Befehl DrawRectangle zuständig. Dabei sind vier Parameter anzugeben, die die Koordinaten von zwei gegenüberliegenden Eckpunkten bestimmen. Dabei wird von den Koordi-naten des Zeichenblatts ausgegangen (so sitzt der Ursprung in (0/0)). Die Werte selbst müssen in Zoll (Inch) angegeben werden. Das folgende Beispiel zeichnet ein Rechteck mit den Eckkoordinaten (1/1) und (3/2):
Sub Rechteck_Zeichnen()
ActivePage.DrawRectangle 1, 1, 3, 2
End Sub
Zum gleichen Ergebnis wäre man auch folgendermaßen gekommen:
ActivePage.DrawRectangle 1, 2, 3, 1
oder auch so:
ActivePage.DrawRectangle 3, 1, 1, 2
Wichtig sind dabei lediglich die beiden gegenüberliegenden Eckpunkte.
Analog wird eine Ellipse gezeichnet:
Sub Ellipse_Zeichnen01()
ActivePage.DrawOval 1, 1, 3, 2
End Sub
Wird mit dem neu gezeichneten Objekt weitergearbeitet, muss es an eine Objektva-riable übergeben werden:
Sub Ellipse_Zeichnen02()
Dim vsShape As Shape
Set vsShape = ActivePage.DrawOval(1, 1, 3, 2)
vsShape.Text = „Frohe Ostern“
End Sub
Dafür werde ich ein schönes Beispiel bringen. In einigen Programen, die ich an Kunden ausgeliefert habe, überprüfe ich die Voraussetzungen der Zeichnungen. Sollte etwas nicht stimmen, lege ich einen roten Punkt auf das nicht korrekte Shape.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert