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.

Dynamischer Verbinder – Farbe ändert sich, wenn Verbinder klebt

Ich habe eine Weile getüftelt. Aber es funktioniert. Man kann einen verbinder rot einfärben, wenn er klebt und schwarz formatieren, wenn er nicht klebt. Über ShapeSheet-Funktionen.
Wenn ein Verbinder klebt, steht in der Zelle BeginX (beziehungsweise EndX) die Formel
=PAR(PNT(Process.2!Connections.X3,Process.2!Connections.Y3))
wobei Process der Name des Shapes darstellt, an dem der Verbinder klebt.
Ich erstelle eine benutzerdefinierte Zelle, die mit der Formel
=EVALCELL(BeginX)
die Formel ausliest. Erstaunlicherweise, kann diese Formel nicht weiterverarbeitet werden. Sie muss zu erst in einen Text verwandelt werden:
=FORMAT(EVALCELL(BeginX),“@“)
Und nun kann man beispielsweise die ersten drei Zeichen herauslesen:
=LEFT(FORMAT(EVALCELL(BeginX),“@“),3)
Die benutzerdefinierte Zelle heißt „User.KlebeverhaltenLinks“. Ebenso gibt es eine Zelle „User.KlebeverhaltenRechts“.
Und nun kann man beispielsweise in der Linienfarbe überprüfen:
=IF(AND(STRSAME(User.KlebeverhaltenLinks,“PKT“),STRSAME(User.KlebeverhaltenRechts,“PKT“)),2,0)
Das sollte man noch mit einer GUARD-Funktion schützen.

Text ein- und ausblenden

Im Abschnitt »Miscellaneous« befindet sich die Zelle HideText. Wie der Name sagt, kann darüber der Text ausgeblendet werden. Normalerweise ist der Wert dieser Zelle FALSE. Sollte man nun beispielsweise über eine Aktionszelle darauf zugreifen, so könnte man mit

=SETF(„HideText“,TRUE)

Den Text ausblenden. Oder besser:

=SETF(„HideText“,NOT(HideText))

So wird der Text abwechselnd ein- oder ausgeblendet. Dies kann im Kontextmenü, das heißt in der Zelle Menu angezeigt werden:

=IF(HideText,“Text einblenden“,“Text ausblenden“)

Ein Bug im ShapeSheet?

Sehr herstaunlich. Wenn man im ShapesSheet eines Shapes in Visio einen Abschnitt „Action“ einfügt und in die Zelle „Menu“ einen Text einträgt, wird dieser im Kontextmenü angezeigt. So weit so gut.
Früher (?) konnte man in der Zelle „TagName“ einen Kommentar eintragen, der dann in der Statuszeile angezeigt wurde. Jetzt (?) unter Windows 10 (?) in Visio 2016 (?) verschwindet dieser Kontextmenüeintrag. Ein Bug?

Dynamische Datenfelder

Letzte Woche wollte ein Teilnehmer in der Visio-Schulung wissen, wie man dynamische Daten erzeugen kann. Also: wenn in den Daten eines Shapes eine Information ausgewählt wird, sollen weitere Informationen sichtbar sein. Bei der Wahl eines anderen Eintrags sollen wiederum andere Infos ausfüllbar sein.
Nun: Die Daten kann man leicht in Visio über „Daten / Daten definieren“ erzeugen.
Dann muss das ShapeSheet herhalten: Dort wird in der Zelle eine Formel eingetragen. Es funktioniert nicht:
=Prop.Geldfluss=“Ausgaben“
oder mit einer WENN-Verzweigung:
=If(Prop.Geldfluss=“Ausgaben“,True,False)
Man muss die Funktion STRSAME bemühen:
=STRSAME(Prop.Geldfluss,“Ausgaben“)
Sie vergleicht zwei Texte und liefert True oder False.
Und damit hat man die dynamischen Daten:

Zweig mit mehr als sechs Ästen

In der letzten Visio-Schulung beschwerte sich ein Teilnehmer über das Shape „Zweige schräg“. Dort könne man nur bis zu sechs Zweige herausziehen. Er benötigt allerdings acht Linien.
Kein Problem: Im ShapeSheet muss man nur zwei weitere Zeilen für die Controls (die gelben Steuerelemente) einfügen und die Formeln von oben nach unten kopieren.
Außerdem muss man zwei neue Abschnitte einfügen; den Zeilentyp auf MoveTo und LineTo ändern. Bei beiden Abschnitten wird jeweils eine neue Zeile eingefügt. Die Formeln können von Abschnitt Geometrie7 nach geometrie8 und Geometrie9 kopiert werden. Die Formeln müssen angepasst werden – so wird beispielsweise aus:
Width+ABS(Controls.Row_6.Y-Height/2)/Scratch.A1
die neue Formel:
Width+ABS(Controls.Row_7.Y-Height/2)/Scratch.A1
bzw.
Width+ABS(Controls.Row_8.Y-Height/2)/Scratch.A1
Ein Test – und fertig ist der neue Zweig. Er kann in einer Schablone gespeichert werden.