Pfeil-Shapes mit Kontextmenüeinträgen

Amüsant: In der Schablone „Pfeil-Shapes“ (Flussdiagramm) befindet sich ein Shape „Flexibler Pfeil“ Er hat im Kontextmenü Einträge, mit denen man sein Aussehen ändern kann.
Der „Einfache Pfeil“ hat keine Einträge im Kontextmenü.
Im ShapeSheet befinden sich jedoch drei Einträge, deren Eigenschaft Invisible auf „True“ gesetzt sind.
Stellt man sie auf „False“ und klickt auf den Eintrag „Doppelte Spitze“ erhält man ein verzerrtes Ergebnis.
Ein Versuch von Visio, der nicht zu Ende ausgeführt wurde? Ich weiß es nicht und lasse die Kontextmenüeinträge unsichtbar.

Das Flächenshape

Sehr geehrter Herr Martin,
 
ich habe eine kurze Frage zu MS Visio:
 
ich versuche das Shape „Space“ zu verwenden, um für Raumpläne die Raumflächen zu ermitteln. Dabei tritt das Problem auf, dass die Fläche nicht aktualisiert wird, wenn ich das Shape in meine Zeichnung ziehe.
Auch in den Shape-Daten wird die Fläche bei Größenänderung des Shapes nicht angepasst.
 
Ich verwende jedoch Visio 2016 Standard. Können Sie mir bitte für diese Version eine Hilfestellung geben?
 
Das wäre sehr nett. Herzlichen Dank im voraus.
####
Hallo Herr B.,
 
ich habe gestern nachgeschaut: im ShapeSheet Ihrer Datei (! – nicht Zeichenblatt) fehlen die beiden Zellen VisAceDocument und VisAceVersion.
Wenn Sie ein neues Zeichenblatt einfügen und das Shape „Fläche“ aufs Blatt ziehen, wenden diese beiden Zeilen mit den Werten 1 und 16 eingefügt. Sie sind Voraussetzung für das automatische Ändern des Textes.
Erstaunlicherweise klappt es nicht, wenn ich per Hand diese beiden Zellen einfüge.
 
Lösung: ich würde folgendermaßen vorgehen: Zeichenblatt einfügen, Shape Fläche draufziehen, testen, Blatt löschen. Fröhlich in die Sonne schauen.
 
Warum diese Zellen in Ihrer Zeichnung nicht im ShapeSheet sind und auch nicht erzeugt werden, wenn Sie dort auf diesem Blatt ein neues Shape einfügen, weiß ich nicht.
 
Hilft Ihnen das?
 
schöne Grüße
 
René Martin

Das ShapeSheet

Es gibt in Visio einige Befehle, die sind nur über das ShapeSheet erreichbar. Beispielweise das Schützen einer Gruppe (LockGrouop) im Abschnitt „Protection“. Oder das Verbergen eines zeichenblattes.
Nicht nur deshalb sollten sich Visio-Programmierer mit dem ShapeSheet auseinandersetzen.

Unsichtbares Zeichenblatt

In Visio kann man – ebenso wie in Excel – ein Blatt unsichtbar machen. Hierzu muss man über das Kontextmenü des Zeichenblatts oder über die Registerkarte „Entwicklertools“ in das ShapeSheet des Zeichenblattes wechseln. Dort findet man im Abschnitt „Page Properties“ die Zelle „UIVisiblity“. Wird sie auf 1 = visUIVHidden gesetzt, sieht der Anwender sie nicht mehr. Und wie blendet man sie wieder ein? Über den Zeichnungsexplorer (Registerkarte „Entwicklertools“)!

Verbinder verbinden

Hallo!
Sofern ich es richtig verstehe, wird der Text des Verbinders nicht in die -synchronisierten Kopien- übermittelt – Ich würde mit dem -Verbinder-Text- gerne Abteilungen in einem Organigramm benennen, jedoch würde es wenig Sinn haben, wenn diese nicht auf andere Zeichenblätter übertragen werden. Gibt es einen Trick?
ich wüsste keinen Trick. Wenn es sich nur um einen Text (oder um einige wenige Texte) handelt, kann man natürlich im ShapeSheet einen Verweis einfügen:
=SHAPETEXT(Pages[Page-1]!Dynamic connector.32!TheText)

Dynamische Verbinderfarbe

Gestern in der Visio-Schulung haben wir einen Verbinder erstellt. Wenn er nicht klebt, ist die Linienfarbe orange. Wurde in den Daten die Eigenschaft „Nützlich“ im Datenfeld „Kategorie“ eingestellt, ist er schwarz, wurde der Wert auf „schädlich“ geändert, wird die Linienfarbe rot.
Wir haben im Shapesheet zwei benutzerdefinierte Zellen definiert: KlebeverhaltenLinks und KlebeverhaltenRechts mit den Formeln:
=LEFT(FORMAT(EVALCELL(BeginX),“@“),3)
=LEFT(FORMAT(EVALCELL(EndX),“@“),3)
In der Zelle „LineColor“ im Abschnitt „Line Format“ steht die Formel:
=GUARD(IF(AND(STRSAME(User.KlebeverhaltenLinks,“PKT“),STRSAME(User.KlebeverhaltenRechts,“PKT“)),IF(STRSAME(Prop.Kategorie,“Schädlich“),RGB(255,0,0),RGB(0,0,0)),RGB(255,204,49)))

Logo in der Ecke

Der Teilnehmer der Visio-Schulung möchte sein Logo in der linken unteren Ecke des Zeichenblattes haben. Kein Probelm:
Im ShapeSheet werden LocPinX und LocPinY auf Width*0 und Height*0 gesetzt. Das hätte man auch in Visio im Fenster „Größe und Position“ machen können.
Anschließend werden PinX und PinY auf GUARD(0) gesetzt – damit ist das Shape in der linken unteren Zeichenblattecke angedockt. Man kann das Logo über Anfasser vergrößern.
Will man das Logo in einer Schablone speichern, muss man es kopieren und in der Schablone einfügen.

Verbinder mit Text

In der Visio-Schulung letzte Woche haben die Teilnehmerinnen gewünscht, dass der Text als Standard unterhalb der Verbinderlinie steht. Kein Problem – dieses Shape haben wird dann in einer Schablone gespeichert.
Allerdings wollten sie, dass zweizeiliger Text über und unter der Linie steht. Nun – kein Problem: ein paar Zeilen im ShapeSheet, ein Kontextmenü mit zwei Einträgen zum Umschalten und schon hat das Shape zwei Varianten.

Link anzeigen

Der Teilnehmer der Visio-Schulung zeigt mir sein Ablaufdiagramm. Er kennzeichnet Shapes, die mit einem Link versehen sind, durch eine Schatten, den er über die Effekte formatiert. Ich finde das nicht sehr ansprechend und schlage ihm vor, ein Symbol zu verwenden.

Wir verwenden das Shape „Weiterleiten“ aus der Schablone „Allgemeine Symbole“ (Software und Datenbank / Drahtmodell). Da es eine Gruppe ist und deshalb schwierig ist auszublenden, entschließe ich mich die Gruppierung aufzuheben und die beiden Shapes zu einer Gesamtmenge zusammenzufassen.

Also werden Rechteck, „Weiterleiten“ gruppiert. Der Gruppe werden zwei Aktionszeilen eingefügt: „mit Link“ und „ohne Link“. Sie schreiben in das innere Shape – genauer – in die beiden Geometriesektionen in die Zelle NoShow entweder den Wert True oder False:

=SETF(GetRef(Sheet.3!Geometry1.NoShow),TRUE)+SETF(GetRef(Sheet.3!Geometry2.NoShow),TRUE)

In der Spalte “Checked” wird der Haken gesetzt.

Und so kann das Symbol schnell ein- und ausgeblendet werden. Auf dieser Basis werden weitere Shapes erstellt, die dann in einer Schablone gespeichert werden.

Danke an Matthias Hämmerle von haemmerle-consulting für die Ideen und die Hilfe bei der Umsetzung.