Hallo Herr Martin,
Ich möchte ja einen dynamischen Pfeil für bspw. Sankey-Diagramme, d.h. einen Pfeil, wo ich z.B. ein Transportvolumen von 100 Einheiten und einen Pfeil mit 300 Einheiten habe, und diese dann in der jeweiligen Relation dick sind. DAs Volumen möchte ich direkt in das Textfeld des Pfeils eintragen können und eine Formel stellt den Pfeil dann in der jeweiligen Größenrelation dar.
Danke schonmla für Ihre Hilfe!
#######
Hallo Frau L.,
Sie möchten auf das Pfeilshape einen Text eingeben, so dass der Pfeil größer und kleiner wird, oder?
Dafür helfen die beiden Formeln: =EVALTEXT(TheText)/100
die am besten noch geschützt werden:
=GUARD(EVALTEXT(TheText)/100)
schöne Grüße
Rene Martin
Kategorie: ShapeSheet
Verknüpfungen
Hallo Herr Martin,
ich habe mich für die Variante entschieden mit einem Hintergrundblatt, auf dem Rahmen und Schriftfeld liegen zu arbeiten und dies als Vorlage mit dem dazugehörigen Shapes meinen Kollegen zu Verfügung zu stellen. Ich würde dann an den entsprechenden Stellen ein Textfeld einfügen, in dem die Daten eingeben werden können. Halten Sie dies für eine geeignete Variante oder gibt es da bessere?
Viele Grüße
NR.
Hallo Herr R.,
ich habe nun eine Weile geknobelt und einiges versucht.
ich würde es folgendermaßen lösen:
Legen Sie Ihren Block auf das Zeichenblatt. Fügen Sie den Zeichenblatt über das ShapeSheet Daten hinzu. Fügen Sie dem Zeichenblatt ein Kontextmenü hinzu (beispielsweise „Eigenschaften“). Verknüpfen Sie die Daten des Zeichenblattes mit den Feldern. Schützen Sie den Block (entweder über Entwicklertools oder über die Layer).
Nun kann der Anwender leicht über das Kontextmenü die Infos eintragen (ich habe mal zwei gebaut).
Warum habe ich den Block nicht auf das Hintergrundblatt gelegt? Ich habe lange probiert. Aber ich vermute, dass Visio – obwohl es in der Hilfe so steht – keine Verknüpfung von einem Blatt auf ein anderes herstellen kann.
Schöne Grüße
Rene Martin
Benutzer
Hallo Herr Martin,
lange ist es her dass wir Kontakt hatten. Sie haben damals bei uns in Frankfurt eine Visio Schulung gemacht.
Jetzt habe ich hier ein kleines Problem mit dem ich nicht weiter komme. Ich habe schon in Ihren Büchern nachgeschaut und auch im Internet gesucht.
Wir wollen auf einer Visio Zeichnung beim Drucken das aktuelle Datum und den User auf dem Ausdruck mit drauf haben. Das Druck Datum ist kein Problem, DOCLASTPRINT().
Ich finde aber keine Möglichkeit den Windows User anzeigen zu lassen.
Geht das in Visio nicht oder finde ich nur den Syntax nicht?
Viele Grüße,
AK.
Hallo Herr K.,
Sie können die Eigenschaften, die unter Datei / Informationen in der aktuellen Datei hinterlegt sind, im ShapeSheet mit der Funktion CREATOR() auslesen und dann so über Einfügen / Feld anzeigen lassen.
Den Windows-Benutzernamen können Sie m.W. nicht direkt herholen – ich benötige ihn manchmal und erzeuge ihn dann per Programmierung:
Environ(„username“)
schreibe ihn irgendwo rein oder überprüfe ihn mit einer Einstellung.
schöne Grüße
Rene Martin
Daten im Quickinfo
Letzte Woche kam die Frage, ob man die Shape-Daten in Visio auch beim Drüberfahren anzeigen lassen kann. Natürlich war meine Antwort „nein“ – wissend, dass man mit einem kleinen Skript so etwas programmieren kann:
ActiveWindow.Selection(1).Cells(„Comment“).FormulaU = „“““Anzahl der Lautsprecher“ & vbCr & Me.txtAnzahl.Value & „“““
Oder man verweist auf die andere Zelle im ShapeSheet:
=“Anzahl der Lautsprecher: „&Prop.Anzahl_der_Lautsprecher
Aber beide Lösungen sich etwas mühsam – deshalb empfehle ich lieber Datengrafiken.
ShapeSheet
Viele Anwender fürchten sich vor den ShapeSheet in Visio. Dabei kann man auch ohne profunde Kenntnis der parametrisierten Daten dort Dinge entdecken und korrigieren. Beispielsweise die Position der Verbindungspunkte – man kann kontrollieren, ob sie sich genau in der Mitte befinden. Der mittlere, untere beispielsweise sitzt nicht genau in der Mitte – er müsste auf Width*0.5 geändert werden.
Symbole im Kontextmenü
Wenn Sie in Visio ein Shape erstellen und im selbstdefinierten Kontextmenü ein Symbol einfügen möchten, steht Ihnen in der Zelle ButtonFace die Möglichkeit zur Verfügung über eine Nummer ein Symbol einzufügen. Doch – welche Nummer steht für welches Symbol?
Antwort: Die Nummern entsprechen den „alten“ Symbolen früherer Visio – oder genauer: Office-Versionen. Mit einem kleinen VBA-Skript können sie ausgelesen werden:
Sub SymbolleistenErzeugen()
Dim vsSymbleisten As CommandBars
Dim vSymbleise As CommandBar
Dim vsSymb As CommandBarButton
Dim i As Integer
On Error Resume Next
Set vsSymbleisten = Application.CommandBars
vsSymbleisten(„Meine eigen Symbolleiste“).Delete
Set vSymbleise = vsSymbleisten.Add _
(„Meine eigen Symbolleiste“, msoBarTop, False, True)
vSymbleise.Visible = True
For i = 1 To 2000
Set vsSymb = vSymbleise.Controls.Add(ID:=i)
If Err.Number = 0 Then
vsSymb.Style = msoButtonIconAndCaption
vsSymb.Caption = i
Else
Err.Clear
End If
Next
End Sub
Erstaunlicherweise werden in Excel mehr Symbole angezeigt als in Visio – die Nummern können aber auch in Visio verwendet werden, wie hier beispielsweise 107,37, 714, 6505, …
Blätter nicht drucken
Hallo Herr Martin,
[…]Und dann habe ich noch eine Frage, die Sie mir vielleicht kurz beantworten können.
Ich habe eine Zeichnung mit mehreren Zeichenblättern, wo ein (ggf. mehrere) Blätter grundsätzlich nicht gedruckt werden sollen. Beispielsweise: Titelblatt, Zeichnung 1, Zeichnung 2, Anlage, Info. Das Zeichenblatt „Info“ soll nicht gedruckt werden. Kann ich im ShapeSheet bei den Print-Properties etwas ergänzen/ändern, womit der Ausdruck dieses Blattes verhindert wird.
Falls das geht, daran anschließend die Frage, was mit der Fußzeile passiert, wenn ich dort Seitenzahlen im Sinne von „Seite 1 von 5“ stehen habe (und es nun aber nur 4 Seiten sind, die gedruckt werden).
Wenn es hierfür eine einfache und schnelle Lösung gibt, wäre ich für einen Hinweis dankbar. Sollte das nur mit mehr Aufwand machbar sein, bitte ich um eine kurze Einschätzung hierüber.
Vielen Dank und Gruß
DF.
Hallo Herr F.,
ich hätte schwören können, dass es im ShapeSheet eine Zelle des Zeichenblattes gibt, mit dem man das Drucken verhindern kann. Aber bevor ich antworte ohne noch einmal ins ShapeSheet zu schauen – ein Blick (haben Sie sicherlich auch) und padautz: es gibt wirklich keine Zelle. Warum meine Sicherheit? Weil ich
1. das Blatt mit UIVisibility verbergen kann
2. ein Shape mit NonPrinting nicht ausdrucken kann
3. einem Shape, das auf einem Layer liegt, über die Layereigenschaften das Drucken verhindern kann.
Obwohl das Zeichenblatt auch ein ShapeSheet besitzt, findet sich dort weder eine Eigenschaft NonPrinting, noch kann ich ein Blatt auf einen Layer legen.
Wie würde ich das Problem lösen: Machen Sie die Blätter, die nicht ausgedruckt werden sollen, zu Hintergrundblättern. Dann erscheinen sie auch nicht bei der Zählung der Seitenzahlen (Feld: Zeichenblattinfo/Anzahl der Zeichenblätter = Anzahl der Vordergrundzeichenblätter). Das Hintergrundblatt muss ja nicht von einem Vordergrundblatt verwendet werden. Kleiner Nachteil: es liegt halt immer am „Ende“ der Zeichenblätter …
Hilft Ihnen das?
schöne Grüße
Rene Martin
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
Hallo 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
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