Dynamischer Hintergrund

Guten Tag Herr Martin,
nun ging es doch schneller, wie ich ursprünglich erwartet hatte. Eigentlich wollte ich mir Ihr Buch mit in den Urlaub nehmen und dort mal ganz gemütlich ein bisschen in den ShapeSheets blättern aber nun kam schon direkt die Anforderung vom Kunden.
Daher schaffe ich es nicht, meine ShapeSheet-Versuche sauber auf die Vorlage zu bringen und möchte Sie um Unterstützung bitten.
Auf dem Hintergrundblatt befindet sich die Kopf- und Fußzeile für die Seite Skizze. Die Größe soll sich an der (automatisch angepassten) Seitengröße der Skizze orientieren.
Das Skizzenblatt soll vom Hintergrund eine Kopf- und Fußzeile erhalten, die sich flexible an die Größe der Skizzenseite anpasst.
Die Kopfzeile soll sich variable in die Länge anpassen, dabei soll die Angaben „Prozessname“ und „Teilprozessname“ ganz links stehen bleiben, die Linie sich automatisch in der Breite anpassen und das Logo immer rechtsbündig stehen.
Die Fußzeile soll sich auch variable in der Länge anpassen. Die Felder und Legendensymbole sollen so in dieser Form immer rechtsbündig stehen und bei sich ändernder Seitenbreite „mitwandern“. Die senkrechte Linie am rechten Seitenrand wandert auch mit.
Hintergrund passt sich automatisch der Seitengröße des Zeichenblattes „Skizzeß an
Kopfzeile: Linie vergrößert sich, Logo steht rechtsbündig Fußzeile: Legende steht rechtsbündig
Senkrechte Linie am rechten Seitenrand
Schon einmal vielen Dank im Vorraus,
Gruß aus Köln
DF.
Hallo Herr F.,
ich habe probiert:
es ist nicht so ohne Weiteres möglich, dass sich das Hintergrundblatt so auf das Vordergrundblatt bezieht, dass es die Größeneinstellungen mitnimmt.
Deshalb habe ich folgenden Trick verwendet: Visio besitzt ja Hintergründe (Entwurf). Dort habe ich einen Hintergrund auf ein Hintergrundzeichenblatt eingefügt. Damit wird das Hintergrundzeichenblatt mit dem Vordergrundblatt verknüpft. Damit man das Shape nicht sieht, wird es unsichtbar wegformatiert. Nun kann ich mich an die Shapes auf dem Hintergrundzeichenblatt machen und ihre Position mit einer GUARD-Funktion einfügen. Ich würde an Ihrer Stelle das Hintergrundblatt ausblenden.
Das Logo hat beispielsweise in den Zellen PinX und PinY die Formeln:
GUARD(ThePage!PageWidth-Width/2)
beziehungsweise:
GUARD(ThePage!PageHeight-Height/2)
kommen Sie damit klar?
schöne Grüße
Rene Martin

dynamischer_hintergrund01 dynamischer_hintergrund02Hallo Herr Martin,
ein paar Regenschauer (und natürlich die Erläuterungen in Ihren Mails) fördern dann doch das Verständnis für Visio.
Nach dem „Trick“ mit dem Hintergrund hätte ich wahrscheinlich nun lange gesucht. Was ich allerdings nicht gefunden habe, ist die Stelle im ShapeSheet wo Sie den Hintergrund „unsichtbar wegformatiert“ haben.
[…]
Hallo Herr F.,
das Shape auf dem Hintergrund müssen Sie nicht per ShapeSheet wegformatieren – das kann man auch über Visio und Format „ausblenden“.
viel Erfolg beim Erstellen – und wenn Sie eine Frage haben, dann melden Sie sich einfach
schöne Grüße
Rene Martin

Das ShapeSheet

Gestern habe ich für eine technische Dokumentation Bögen gezeichnet. Wie? Mit dem ShapeSheet natürlich. Es ist ziemlich mühsam die ganzen Zahlen einzutippen und zu probieren, damit die Bögen gleichmäßig rund werden – aber es funktioniert. Und es sieht recht ordentlich aus.

boegen

Klebearten

Hi Rene,

Eine kurze Frage zu Visio:
1. Ich möchte gerne von dem Rechteck zum Kreis eine Linie ziehen.

2. Frage: Kann Visio diesen Vorgang des Pfeile-Ziehens in irgendeiner Weise protokollieren?

Ich danke Dir wieder für Deine Hilfe und sage jetzt schon mal wieder Danke für Deine Antwort!

Viele Grüße
Johannes

********************

Hallo Johannes,

schau mal ins ShapeSheet!

Es gibt zwei verschiedene Klebearten: dynamische und statische. Dynamisch bedeutet: der Verbinder klebt am Shape – Visio entscheidet an welchem Verbindungspunkt; statisch: der Verbinder klebt an einem Verbindungspunkt und „wandert“ nicht.

Wenn Du statisch klebst, dann steht der Name des Shapes, an dem der Verbinder klebt, im ShapeSheet des Verbinders, bspw:

=PAR(PNT(Rectangle!Connections.X1,Rectangle!Connections.Y1))

Wenn Du dynamisch klebst leider nicht – keine Chance es auszulesen!

Die Namen der (Kreis/Rechteck-, ….)Shapes kann man über Entwicklertools/Shape-Design/Shape-Name ermitteln und einsehen.

Die Tabelle muss man programmieren, weil man aus dem ShapeSheet-Code den per String-Funktionen den Text extrahieren muss.

liebe Grüße

Rene

shapesheet

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

Dynamische Texte – Mehrsprachigkeit

ShapeSheet – einfach immer klasse! Bin gerade beim Abschnitt „Mehrsprachigkeit mit ShapeSheet“ und habe soeben folgendes Bild gemacht.

mehrsprachigkeit01

… oder die deutsche Übersetzung …

mehrsprachigkeit02

Dynamische Bilder

… und mit ein paar Zeilen Code im ShapeSheet kann man auch Bilder dynamisch ein- und ausblenden lassen. Ist gar nicht so schwierig.

bild

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