Fläche berechnen

Hallo Herr M.,

[…] Jedes Shape in Visio hat eine x- und y-Position, die Width und Height kann ebenfalls über das ShapeSheet ausgelesen werden.

Um die Fläche zu berechnen, können Sie die Eigenschaft AreaIU der Shapes verwenden (Achtung: muss mit 2.54 ^ 2 multipliziert werden, da das Ergebnis Quadratinch ist).

MsgBox ActivePage.Shapes(1).AreaIU * 2.54 ^ 2

Damit können Sie leicht die Flächen berechnen.

schöne Grüße

Rene Martin

Unterschiedliche Schriftgrößen in einer Gruppe

Hallo Herr Martin,
Auffällig ist, dass die Schriftgröße irgendwie abgeleitet wird vom Shape Text. Dies sieht dann komisch aus, wenn man die Shape-Texte unterschiedlich groß wählt (z.B. um mehr Text bei einzelnen Shapes unterzubringen) und dann nummeriert. Da sind dann die Nummerierungen unterschiedlich groß. Kann man nicht eine separate Schriftgröße für alle Nummern vorgeben, unabhängig von den Shape-Texten? Vielleicht konfigurierbar im Nummerierungsassistent?
Eine hübsche Fingerübung: Wird die Schriftgröße in einer Gruppe verkleinert, verkleinert sich die Schriftgröße in allen Mitglied-Shapes.
Die Lösung ist einfach: im ShapeSheet des Shapes, in dem sich die Nummer befindet, ändere ich in der Zelle
Char.Size
die Größe von
= 10 pt
auf
=Guard(10 pt)

PDF A2 statt A4

Hallo Herr Martin,

ich möchte für eine Zeichnung das Druckerpapier auf DIN A2 setzen. Dies macht Visio aber nicht, da mein angeschlossener Drucker nur bis A3 drucken kann.

Die erstellte Zeichnung soll aber als pdf weitergeleitet und dann woanders in A2 gedruckt werden. Und ich möchte gern, dass das pdf in A2 vorliegt.

Gibt es eine Möglichkeit, dies bei Seite einrichten oder woanders voreinzustellen?

Beste Grüße,

BW.
####
Hallo Frau W.,

vielleicht ist die Antwort zu einfach (oder das Problem doch schwieriger): installieren Sie doch eine Druckerdatei eines Plotters. Stellen Sie diesen ein und speichern Sie dann die Datei als PDF.

Das wäre zu einfach, oder?

Rene Martin
####
Herr Martin,

Sie haben mir den Tag gerettet!
Es war wirklich so einfach.

Besten Dank!!

Freundliche Grüße,

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.

Mastershapes und Dokumentenschablone

Hallo Herr Z.,

Ein Tipp: Wenn Sie eine Datei verwenden, in die Sie Shapes hineinziehen, testen, löschen, neue Shapes hineinziehen …, werden diese Shapes in der Schablone „Dokumentschablone“ gespeichert. Dadurch wird die Datei größer:
Sie können sie dort löschen oder über Datei / Informationen / Dateigröße verringern / Nicht verwendete Mastershapes entfernen (dann bleibt die Datei klein und das Testen funktioniert schneller):
schöne Grüße
Rene Martin

Shape in Gruppe umwandeln

Wenn man in Visio zwei Shapes markiert und gruppiert hat man als Resultat drei Shapes: das Gruppenshape und die beiden Mitgliedsshapes. So weit so gut.
Nun stellt sich die Frage (und diese Frage höre ich häufig in Schulungen): Warum kann man ein einzelnes Shape in eine Gruppe verwandeln?
Ich habe zwei Gründe für dieses Vorgehen gefunden:
 
* Angenommen an dem Shape befinden sich eine Menge Informationen: Daten, Verbindungspunkte, Schutzmechanismen, Verhaltenseinstellungen, Formatierungen, … und diese sollen nach Gruppieren mit einem anderen Shape nicht innerhalb der Gruppe liegen, sondern AUF der Gruppe – nun – so kann (und sollte man) das Shape in eine Gruppe umwandeln.
* Wenn Sie ein einzelnes Shape in eine Gruppe verwandeln, können Sie über die Verhaltenseinstellungen (in den Entwicklertools) festlegen, dass dieses Shape „abgelegte Shapes annehmen“ kann. Die anderen Shapes müssen (ebenfalls „Verhalten“) die Einstellung besitzen: „Shape beim Ablegen der Gruppe hinzufügen“. Dann können sie durch Verschieben an die Gruppe „angedockt“ werden.
Zugegeben: beide Varianten der Option „in Gruppe verwandeln“ tauchen wohl recht selten auf.

Schräg stehende Shapes

Erinnern Sie sich an den Satz des Pythagoras? Heute habe ich ihn gebraucht. Eine Firma möchte, dass ich Informationen aus einer Visio-Datei herauslese. Es geht dabei um Raumpläne; es geht um die Frage, welche Bemaßungslinie befindet sich in der Nähe der Shapes. Bei waagrechten und senkrechten Anordnungen ist das kein Problem – aber bei schrägen? Nun – ein bisschen knobeln, Satz des Pythagoras – schon kann der Abstand von Pin zu Pin berechnet werden.
Eine Bemerkung an alle Eltern, die sich mit der Frage ihrer Kinder rumschlagen müssen: „Wozu muss ich denn das lernen?“ Ich habe mein gesamtes Schulwissen der Mathematik bis einschließlich Oberstufe irgendwann einmal bei einer Softwarelösung benötigt. So wie beispielsweise hier.

Logo erstellen

Ein Logo nachbauen? So schwierig kann das doch nicht sein, oder?
Nun, das Problem des Logos kann man sicherlich mit Linien lösen. Setzt man das Linien-, Kurven- oder Bleistift-Werkzeug an den letzten Punkt, kann man einen Streckenzug zeichnen.
Die Zeichnung (das Originallogo) habe ich vorher auf das Zeichenblatt gelegt und geschützt.
Anschließend kann man die Linienstärke erhöhen und die Eckenabrundung ausschalten (=“flach“).
Eine Kontrastfarbe (hier: gelb) erleichtert das Arbeiten.