Steckdose

Sehr geehrter Herr Martin,
ich habe neulich das Produkt von video2brain „Visio 2010 Programmierung“ erworben, wo Sie das Training leiten.
Ich hätte eine Bitte: ich kann im Video und auch sonst nirgends im I-Net die Lösung finden, wie man Shapes erstellen kann, welche aufgrund einstellbarer Shape-Daten sich auch verändern.
Vielleicht können Sie mir aufgrund dieses Beispieles (Weitere Shapes/Pläne und Grundrisse/Bauplan/Elektrik und Telekommunikation) Shape „Steckdose“, kurz erklären, wie das Shape sein Erscheinungsbild verändert? Gibt es das Shape in verschiedenen Versionen, die je nach Eigenschaftswert ein- und ausgeblendet werden?

Wünsche Ihnen auch eine gute Zeit.

Mit freundlichen Grüßen

Oskar V.

Hallo Herr V.,

um das zu verstehen, gehen Sie folgendermaßen vor:

* Schalten Sie die Registerkarte „Entwicklertools“ ein.
* Ziehen Sie das Shape „Steckdose“ auf das Zeichenblatt
* Wählen Sie aus Entwicklertools / Shape-Design / Verhalten die Option „Gruppe zuerst“ (nicht „nur Gruppe“). Das Shape ist ein gruppiertes Shape und besteht aus zwei Teilen
* Im ShapeSheet der Gruppe finden Sie der Zeile Prop.SubText in der Zelle Format =“Steckdose;Steckdose mit Schalter;Doppelsteckdose“
* Im ShapeSheet der Gruppe finden Sie der Zeile Prop.SubText in der Zelle Format =INDEX(1,Prop.SubType.Format)
* Wechseln Sie über die rechte Maustaste von Formeln zu Werten, dann sehen Sie, dass sich bei Format die Liste, bei Value die Auswahl befindet.
* Im Abschnitt User-defined Cells wird Bezug darauf genommen. In der Zelle User.Type finden Sie die Formel =LOOKUP(Prop.SubType,Prop.SubType.Format)
* Ein Klick auf Werte zeigt, dass LOOKUP die Nummer des ausgewählten Eintrags ermittelt.

* Wenn Sie nun in das Mitglieds-Shape der Gruppe wechseln (Klick – Klick), dann stellen Sie im ShapeSheet fest, dass die Linie in Geometry.2 dargestellt wird. In der Zelle Geometry2.NoShow steht folgende Formel: =IF(User.Alt,User.Type<>1,1)
* User.Alt steuert das Verhalten, das über das Kontextmenü angezeigt wird (Sie interessieren Sie aber für die Daten)
* User.Type<>1 greift auf die Zelle User.Type zurück, die sich aus dem übergeordneten Gruppen-Shape die Information zieht: =Sheet.4!User.Type (bei mir heißt es Sheet.4 – vielleicht heißt es bei Ihnen anders)
* Und darüber wird es ein- und ausgeblendet.

* Ich habe es mal (ohne Gruppe) nachgebaut und auf die wichtigsten Elemente reduziert, damit Sie es besser verstehen, was Visio macht.

Übrigens: einen Überblick über die Formeln finden Sie in meinen Visio-Büchern Visio 2010, Visio 20910-Programmierung und dem bald erscheinenden Visio 2013-Buch

schöne Grüße

Rene Martin

steckdose

Tabellenblätter ausblenden

Heute in der Visio-Schulung, als wir diskutiert haben, welche Unterschiede zwischen Tabellenblättern in Excel und Zeichenblättern in Visio existieren, meinte eine Teilnehmerin, dass man Blätter in Visio nicht ausblenden kann. Das hat mich neugierig gemacht – tatsächlich – man sie doch über das ShapeSheet unsichtbar machen. Dort existiert in der Gruppe „Page Properties“ eine Zelle „UIVisibility“. Wird der Wert auf 1 gesetzt, dann ist das Blatt ausgeblendet. Und wie wieder einblenden, habe ich mich gefragt? Nun – nicht schwer – über den Zeichnungsexplorer der Datei: Doppelklick auf das Blatt – und schon befinde ich mich auf dem Blatt „Pedelec“, das eigentlich wirklich nichts bei meinem Fahrrad zu suchen hat …

fahrrad_ausgeblendete_blätter

Die Fläche

Über den Befehl Ansicht/Makros/Add-Ons/Visio-Extras/Shape-Fläche und -Umfang kann Einblick in die Länge des Umfangs und in die Größe der Fläche eines Shapes genommen werden, wie Sie in der Abbildung sehen. Leider können Sie mit diesem Assistenten nicht die Fläche oder den Umfang in das Shape eintragen. Sie müssten sich die gewünschte Angabe mit Kopieren (Strg+C im Dialogfeld) und Einfügen übertragen, was den Assistenten nahezu obsolet macht. Bei komplizierten zusammengesetzten Shapes versagt bisweilen die eine oder andere Berechnung und liefert ein 0-Ergebnis.
Natürlich kann man eigene Felder einfügen. So können beispielsweise Rechtecke ihren Flächeninhalt als Text anzeigen. Dazu wird in der Benutzerformel
=Height*Width
eingefügt. Sie berechnet stets die korrekte Fläche eines Rechtecks.
Übrigens kann man mit der Benutzerformel auch rechnen. Beispielsweise die Fläche eines Kreises:
=Width*Width/4*PI()
Oder einer Ellipse:
=Width*Height/4*PI()
Oder von einem Parallelogramm:
=ABS(Geometry1.X1-Geometry1.X2)*Height.

flaeche

Mehrsprachigkeit

Immer wieder werde ich in Visio-Schulungen gefragt, wie man schnell eine mehrsprachige Zeichnung erstellen kann.
Nun eine Lösung besteht darin, die einzelnen Texte auf verschiedene Layer zu legen. Auf dem Blatt befindet sich ein Kontextmenü. Daruber werden die einzelnen Layer ein- bzw. ausgeblendet.
Und so kann man leicht von Polnisch auf Ukrainisch umschalten.
Jede (Action-)Zeile schreibt in eine benutzerdefinierte Zelle den Spracheintrag:
=SETF(„User.Sprache“,Actions.Row_1)
Die Zelle Visible der Layer vergleicht diesen Eintrag mit sich selbst. Beachten Sie, dass Sie bei einem Textvergleich kein Gleichheitszeichen, sondern die Funktion StrSame verwenden müssen!
=GUARD(STRSAME(User.Sprache,Layers.Name[8]))

mehrsprachigkeit02 mehrsprachigkeit01