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

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.

Blätter per VBA erzeugen?!

Hallo Herr Martin,
Ich habe mal „auf die Schnelle“ versucht Seiten per VBA von einem Quelldokument in das Zieldokument an die gewünschte Position zu kopieren. Bisher ohne Erfolg.
Gibt es da ein Script als Vorlage? Ich habe auch das Problem, das der „Fokus“ dann auch dem falschen Dokument liegt.
Kann man ein Dokument öffnen, so dass es für den Bediener nicht sichtbar ist.? Oder soll man für jede Seite, die man einfügt ein eigenes Dokument, bestehend aus nur dieser Seite erzeugen?
####
Hallo Herr H.,
 
in Excel ist das ein einfacher Befehl: Kopiere ein Tabellenblatt aus einer Datei in eine andere Datei. Das mache ich häufig.
In Visio geht das (wohl) nicht.
Sie finden im Kontextmenü der Zeichenblätter keinen Befehl „kopieren“.
Das Page-Objekt kennt zwar die Methode „Duplicacte“ (in die gleiche Datei), aber nicht „Copy“ (in eine andere Datei).
Es ist auch nicht möglich, einzelne Zeichnungsblätter auf verschiedenen Vorlagen basieren zu lassen – ich vermute, das ist der Grund, warum man keine Blätter kopieren kann.
Sie könnten alle Shapes kopieren – aber Achtung: ich fürchte Sie werden Schwierigkeiten bekommen. Ich habe (in einem älteren Projekt) mal versucht die Shapes zu gruppieren, das Gruppenshape zu kopieren und auf einem anderen Blatt zu entgruppieren – bin aber gescheitert, weil dann Verbinderereignisse eintreten, die mir die Verbinder anderes kleben wie ich es gerne hätte.
 
Meine Empfehlung: Finger weg vom „Blatt kopieren“!
 
Erzeugen Sie neue Blätter durch:
* Ein- und Ausblenden
* Herausziehen von bestimmten Master-Shapes aus Schablonen
 

Seitennummerierung mit Feldern

Ein Teilnehmer einer meiner Visio-Schulungen hat mich auf folgendes Phänomen aufmerksam gemacht: Wenn man mehrere Zeichenblätter hat, die alle einen Hintergrund verwenden und wenn auch diesem Hintergrund sich ein Shape befindet mit den Felder Zeichenblattnummer und Anzahl der Zeichenblätter so funktioniert alles wunderbar. Wird allerdings eines der Blätter über das ShapeSheet ausgeblendet, zählt Visio noch immer die Gesamtanzahl der Zeichenblätter … Ein Bug sicherlich nicht, aber: unglücklich!

ShapeSheet statt Datengrafik

Es muss nicht immer eine Datengrafik sein.
In Visio wird ein Shape mit einer Jahreszahl beschriftet. Je nach Zahl werden andere Shapes entsprechend eingefärbt.
Dies könnte man beispielsweise folgendermaßen realisieren:
Ein Shape heißt Sheet.1 Es ist beschriftet. Ein anderes Shape zieht sich diese Information mit
=SHAPETEXT(Sheet.1!TheText)
Eine Liste wird in einer benutzerdefinierten Zelle definiert:
=“2015;2016;2017;2018;2019;2020;2021;2022″
Die Position der Zahl wird ermittelt:
=(FIND(User.Jahr,User.Jahresliste)+4)/5
Eine Farbliste existiert – jede Zahl steht für eine bestimmte Farbe:
=“1;5;12;18;44;22;9;20″
Und dieser korrespondierende Wert wird ermittelt:
=INDEX(User.Jahresposition,User.Farbliste,“;“)

Verschiedene Dreiecke

Heute in der Visio-Schulung fragte eine Teilnehmerin, was denn der Unterschied zwischen den beiden Shapes „Dreieck“ und „Rechtwinkliges Dreieck“ sei.
Ich habe eine Weile probiert, dann im Shapesheet nachgeschaut: Bei Dreieck steht in der Zelle „LockCalcWH“ der Wert 1 (True), beim anderen eine 0. Und was bewirkt diese Zelle. Die Hilfe verrät es:
„Sperrt das Auswahlrechteck eines Shapes, damit dieses nicht neu berechnet wird, wenn ein Scheitelpunkt bearbeitet oder ein Zeilentyp im Abschnitt Geometry geändert wird.“
Das heißt: wenn man einen der Eckpunkte mit dem Bleistiftwerkzeug verschied, verändert sich das umschreibende Rechteck beim Dreieck nicht, beim „Rechtwinkligen Dreieck“ wird es dagegen angepasst.

SpatialRelation

Sehr interessant und wichtig ist der Befehl
SpatialRelation
in VBA für Visio. Damit kann man ermitteln, ob sich zwei Shapes überlappen, das eine Shape vom anderen verdeckt liegt, ob die beiden Shapes nebeneinander liegen oder nichts miteinander zu tun haben. Die Syntax lautet:
Visio.Shape.SpatialRelation(OtherShape As Shape, Tolerance As Double, Flags As Integer) As Integer
Die Rückgabeparameter lauten:
visSpatialContain
visSpatialContaindIn
visSpatialOverlap
visSpatialTouching
Ich habe es verwendet, weil ich in Raumplänen herausfinden möchte, ob zwei Möbelstücke nebeneinander stehen.

Gruppenschutz

Guten Abend,
 
Eine schnelle Frage mal eben voraus. Ich hatte mir heute ein paar Videos von Ihnen auf Linkedin angesehen. Video 4.7 Verhaltens-mechanismen, Schutz und Copyright hat mich inspiriert Symbole in ein fertiges/gruppiertes Shape zu integrieren.
Ich kann aber keine Shapes in gruppierte Shapes, die aus einer Schablone kommen, dropen. Die entsprechenden Einstellen bei beiden Shapes hatte ich gem. Anleitung gemacht. Mit einem frisch gruppiertem Shape ging es auch.
Auch kann ich die Shapes aus der Schablone nicht un-groupen.
####
Hallo Herr W.,
 
Zu Ihrer „kurzen“ Frage – das sind zwei Dinge:
* Wenn Sie mehrere Shapes markieren und in eine Schablone ziehen, werden sie immer gruppiert. Sie können dann nur das EINE Mastershape (also die Gruppe) aus der Schablone ziehen.
* Neben Entwicklertools / Schutz gibt es ein ShapeSheet unter den Shapes. Kennen Sie es? DORT (und nur dort) kann man das „Gruppieren aufheben“ verbieten.