Shapes „fixieren“

Hallo Herr Martin,

Ich war leider nicht erfolgreich…
Ziel ist es, dass die Legende und der Bericht den Abstand zum Blattrand auch beim Ändern des Formats beibehalten.
Trotzdem soll es dem Anwender möglich sein, die Position der Shapes zu ändern.
Ich möchte nämlich nicht den Anwender einschränken, sondern nur das Problem beheben,
dass beim Ändern des Formats die Listen wieder verschoben werden müssen.
Könnten Sie mir eine Formel zukommen lassen, die mir das ermöglicht?

Beispiel: Formatwechsel von A4 zu A3
####
Hallo Herr Q.,

Sie haben zwei (bzw. drei) Koordinatensysteme: das der Seite und das des Shapes. Sie müssen einen Bezug des Pins des Shapes auf das Zeichenblatt herstellen, beispielsweise mit:

=GUARD(ThePage!PageWidth-Width/2-10 mm)

In der Datei 15_DrehBezPos.vsdx habe ich das visualisiert. In
Q.vsdx sehen Sie die Lösung.

Hilft Ihnen das?

Übrigens: ich habe zwei Visio-Bücher geschrieben, in denen ich solche Dinge: berichte, Daten, das ShapeSheet, … erkläre. Und: gerne komme ich zu einem Visio-Kurs zu Ihnen. Davon lebe ich.

schöne Grüße

René Martin

Texte auf Shapes mit unterschiedlicher Länge

Auf einem Hintergrundzeichenblatt einer Visio-Zeichnung werden Daten abgelegt. Diese werden über Verknüpfungen, beispielsweise
=ThePage!Prop.Ersteller
an Shapes eines Beschriftungsblocks übergeben. Dort werden sie angezeigt.
Allerdings ist einer der Texte einer List – im Verhältnis zu den anderen Texten – länger.
Es gibt mehrere Möglichkeiten, um die Schrift bei DIESEM Text zu verkleinern. Entweder über eine direkte Auswahl:
=IF(STRSAME(Fields.Value,“Tom Bombadil“),8 pt,14 pt)
(beachten Sie, dass Text im ShapeSheet nicht direkt verglichen werden können: Fields.Value = „Tom Bombadil“ funktioniert NICHT!)
Oder man überprüft die Anzahl der Zeichen:
=IF(LEN(Fields.Value)>6,8 pt,14 pt)

Keine Pfeilspitzen

Hallo Hr. Martin,
 
gibt es irgendwie eine Einstellung wo man beim Verbinder die Pfeile deaktiviert? Ich kann auf meinem Zeichenblatt nämlich keinerlei Pfeile bei Verbindern einblenden. Die Farbe der Verbinderlinie oder die Art lässt sich hingegen problemlos ändern. Nur die Pfeile gehen dort einfach nicht.
 
anbei die Datei und zwei Screenshots die das Problem zeigen.
Wie gesagt, beim kopieren in eine andere Datei, kopiert man das Verhalten irgendwie mit.
 
Ich habe jetzt vieles probiert, jedoch finde ich nicht heraus, woran es liegt.
 
Vielen Dank im Voraus.
 
Ps. Das Video Training von Ihnen hat mir sehr gut gefallen. Ich konnte einiges daraus mitnehmen.
 
MfG
Marcel
####
Hallo Herr Sohling,
und hier die Antwort:
Sie haben diese Datei mit der Vorlage „Elektrotechnik allgemein“ erstellt.
Das erkenne ich an: Datei / Informationen. Unter „Eigenschaften“ steht bei der Vorlage: EEGENR_M_vstx
Ich vermute, dass an dieser Vorlage ein Assistent hängt, der mir auch noch nie aufgefallen ist.
Kennen Sie das Shapesheet?
Wenn Sie einen Verbinder erzeugen und ins ShapeSheet des Verbinders wechseln, sehen Sie im Abschnitt „Line Format“ in den Zellen BeginArrow und EndArrow die Formel
=GUARD(0)
Sie verhindert die Formatierung mit einer Pfeilspitze (was bei E-Technik meistens auch keinen Sinn macht).
Wie können Sie doch formatieren?
Holen Sie sich die drei Symbole „Formatvorlage“ in die Symbolleiste für den Schnellzugriff. Mit „Formatvorlage definieren können Sie eine Vorlage definieren, beispielsweise „Verbinder mit Pfeil“:
Und damit können Sie ihre Verbinderlinien formatieren:
Hilft das?
schöne Grüße
Rene Martin
####
Hallo Hr. Martin,
 
ah super. Da hätte ich lange gesucht.
 
Vielen Dank.
 
Mit freundlichen Grüßen
Marcel

#NA in den Daten

Ich weiß nicht, wie sie es geschafft haben, aber sie haben es. Ich habe einige Daten an das Zeichenblatt gebunden; unter anderem auch Auswahllisten. Da ich auf diese Daten zugreife, merke ich recht schnell, dass da etwas nicht stimmt. Tatsächlich: es befindet sich der Fehler #NA (not available) darin. Wie ist es passiert? Entweder beim Wechseln der Sprache oder beim Kopieren von einer Datei in eine andere.

Schrift „fixieren“

Hallo Frau K.,
 
ich glaube, ich habe es gefunden …
 
Ich habe festgestellt, dass ich die Schriftart eines Mastershapes in der Schablone ändern darf, aber beim Ziehen auf das Zeichenblatt verändert ein Assistent es auf die Grundschrift Calibri. Man sieht es deutlich, wenn man das Mastershape beschriftet.
Deshalb muss man die Schrift „fixieren“:
* Ich öffne die Schablone
* Ich bearbeite das Mastershape:
* dort steht in der Zelle der Wert der Schriftart Meta IGM (170). Ändern Sie die Formel in
 
=GUARD(170)
* Schließen Sie das Fenster des Mastershapes, bestätigen Sie die Aktualisierung.
Ziehen Sie das geänderte Shape aufs Zeichenblatt.
Leider habe ich Ihre Schrift nicht – sonst würde ich es bei allen Shapes machen.
 
Sie können mal mit meiner Schablone nachschauen – hat dort das geänderte, nun weiße Shape „Aufgabe“ die neue Schrift?
Wenn ja – dann müssen Sie es bei allen Shapes machen (die Zelle mit der Formel kann man kopieren und einfügen)
 
Klappt das?
 
schöne Grüße
 
Rene Martin
 

Bug im Nummerierungsassistenten – eine Lösung

Sehr geehrter Herr Martin,
 
Mein Name ist Philipp Orozco-Carazo, ich arbeite an einer dynamischen Visio Vorlage für Modellierungszwecke.
 
Ich möchte Shapes automatisch Nummerieren, jedoch möchte ich den Wert an eine andere Zelle weiterleiten und außerdem in den Shapedaten die Shape-Nummer, Shape-Nummertext usw. verstecken.
 
Im Rahmen meiner Recherche stieß ich auf Ihren Artikel:
 
Ich möchte mich vorallem bei Ihnen bedanken, dass sie Ihre Erkenntnisse in der Visio-Entwicklung mit der Öffentlichkeit teilen!
 
Meine Frage: Haben Sie einen Workaround gefunden? Können Sie mir eine andere Möglichkeit empfehlen Shapes zu nummerieren?
 
MfG,
Philipp
Hallo Herr Orozco-Carazo,
 
ich habe dieses Thema bei LinkedIn in einer Visio-Gruppe gepostet; niemand konnte mir helfen. Einer hat mir angeboten einen Workaround zu programmieren. Den Gedanken habe ich aufgegriffen und der Firma, die es haben wollte, ein Visio-Add-In programmiert, mit dem man die Nummer ein- und ausschalten kann, neu nummerieren kann und die Schriftgröße verändern kann (da die Nummer ja in einem Mitgliedsshape der Gruppe liegt).
 
schöne Grüße
 
René Martin
Lieber Herr Martín,
 
 
Vielen Dank für die flotte Rückschrift! Ich habe nicht mit so einer schnellen Antwort gerechnet!
 
Ich habe nicht aufgegeben und glaube, ich habe einen Hack gefunden um das Problem zu lösen und bin so stolz darauf, dass ich diesen gerne mit Ihnen teilen möchte:
 
 
Ich nutze die Event Cell ‚TheText‘ um eine SETF-Formel immer dann auszuführen, wenn sich der Shape-Text ändert.
 
Wenn man das Nummerierungsaddon verwendet wird automatisch Text hinzugefügt, egal ob sichtbar oder nicht; Das ist auch der Moment wenn jegliche vordefinierte Referenzen zu einer, vorher manuell angelegten, Prop.ShapeNumber Zelle gelöscht werden (also der Bug).
 
Ich nutze in der Formel von ‚TheText‘ das verhalten der SETF funktion aus, weil ich ihr einen String übergeben kann, dieser jedoch bei der Ausführung der Funktion zu Klartext umgewandelt wird.
 
Ca. so:
 
SETF(GetRef(Prop.MeineShapeNummer), „=Prop.ShapeNumber“)
 
 
 
Dadurch, dass das zweite Argument in Anführungszeichen ist, versucht Visio nicht die Referenz zu prüfen und erlaubt mir somit eine Zelle zu referenzieren die (noch) nicht existiert.
 
Die Formel in Prop.MeineShapeNummer wird also jedesmal mit „=Prop.ShapeNumber“ gefüllt, wenn das Addon verwendet wird. (bzw der Text verändert wird)
 
 
Zwar wird bei jeder anderer Textänderung des Shapes die Zelle Prop.ShapeNumber wieder automatisch gelöscht und die Referenz in Prop.MeineShapeNummer wird gebrochen, der Wert den Prop.MeineShapeNummer jedoch vorher durch die SETF-Formel angenommen hat, bleibt erhalten!
 
 
Ich hoffe ich habe meine Lösung verständlich genug formuliert und würde mich über Ihr Feedback dazu freuen!
 
 
Mit freundlichen Grüßen,
Philipp Orozco-Carazo
####
Hallo Herr Orozco-Carazo,
 
warum ich darauf nicht selbst gekommen? *lach* Im Ernst: sehr clevere Lösung! Vielen Dank!
schöne Grüße
Rene Martin

Linie und Füllung – nicht unabhängig?

Guten Tag Herr Martin,
 
ich möchte in Visio 2013 gerne die „Pfeile“ „Zurück“ und „Weiter“ unter aus der Schablone „Software“ „Allgemeine Symbole“ nutzen.
„Ich vermute, dass ich irgend eine Kleinigkeit übersehe und viel zu tief nach Hintergrundinfos suche.“
„Die Frage an sie weiterzugeben erlaubt mir erstmal eine Abschluss zu finden…! 😉
„Problembeschreibung“
1. Der Versuch für Füllung und Linie unterschiedliche Farben zuzuweisen schlägt fehl.
2. Die Farbwerte der Linie und Füllung werden immer gleichgesetzt!
3. Pfeile mit deaktivierter Füllung lassen den Hintergrund „durchscheinen“… (Workaround bleibt ein Weißer Farbverlauf)
####
Hallo Herr G.,
 
kennen Sie das ShapeSheet? Schalten Sie die Registerkarte Entwicklertools ein, dann finden Sie im Kontextmenü des Shapes das ShapeSheet.
Im Abschnitt „LineFormat“ in der Zelle „LineColor“ sehe ich einen Verweis auf die Zelle „FillForegnd“.
Raus damit! – dann sind Linienfarbe und Füllfarbe unabhängig voneinander. Und wenn das Shape haben möchten, speichern Sie es in einer eigenen Schablone.
 
schöne Grüße
 
René Martin

Seltsame Rahmen

Hallo,
muss noch einmal lästig sein.Habe ein Problem mit Visio…
Ich erstelle immer wieder Shapes und fülle diese mit Daten und lege sie dann auch als Mastershape ab.
Seit kurzem habe ich das Problem, wenn ich es als Master Shape speichere und später wieder in die Zeichnung hinein ziehe, geht die Formatierung verloren (Ränder,Anzeige,…)
Kann es auch nicht ändern. Siehe Screenshot.
 
Oben ist es wie es sein soll.
Unten ist wenn ich es als Mastershape nach Links ziehen und dann wieder in die Zeichnung ziehe.
Hast du eine Idee?
Danke im vorraus.
LG Norbert
###
Hallo Norbert,
1. Test: ich erstelle eine Schablone, ziehe das Shape (mit gedrückter Strg-Taste) rein und wieder raus – nicht passiert (siehe Bild):
2. Test: Ich schaue es mir genauer an: die Texte sind Teil einer Gruppe. Wenn ich den Text markiere und zum ShapeSheet wechsle (kennst du?), sehe ich in der Zelle LinePattern die Formel:
 
=GUARD(IF(User.BorderType=0,0,SETATREFEXPR(1)))
 
In der Zelle BorderType im Abschnitt Userdefined Cells finde ich einen Verweis auf:
 
=LOOKUP(Prop.msvCalloutPropBorder,Prop.msvCalloutPropBorder.Format)
 
Im Abschnitt Shape Data, in dem alle Zeilen unsichtbar geschaltet wurden (Invisible=TRUE), sehr ich die drei Werte =“Ohne;Unten;Kontur“ in der Zeile msvCalloutPropBorder
Ich vermute, dass dieser Text von einem anderen Shape verwendet wurde. Wer oder was nun den Text „Kontur“ in diese Zelle schreibt und so die Linie außenrum erzeugt, kann ich nicht sagen. Allerdings: wenn du keine Linie haben möchtest, würde ich die Formatierung der Zelle LinePattern „hart“ auf 0 stellen. Ich habe es mal bei dem Shape auf dem Arbeitsblatt gemacht – was passiert jetzt bei dir?
 
schöne Grüße
 
Rene

Hintergrundblatt

Hallo Herr S.,
Ich habe den Hintergrund ausgeblendet. Die Frage bleibt, ob ein Hintergrund nötig wäre – man hätte auch das Logo auf das Vordergrundblatt legen können und dort das Logo schützen können.
Okay so?

Shape-Daten vom Zeichenblatt

Hallo Herr S.,
Ich habe die drei Dateninformationen zusammengefasst. Markieren Sie kein Shape (also das Zeichenblatt), dann erscheinen die Daten des Zeichenblatts. Die drei Shapes Projektnummer, Untertitel und Datum „ziehen“ sich nun diese Informationen. Was halten Sie davon?