Unbenutzte Felder

Hallo Herr Martin,
eine Frage:
Unbenutzte Felder lassen sich nicht löschen, oder?
####
Richtig – warum wollen Sie die Felder löschen?

Shape-Daten entfernen und einfügen

In Visio Professional kann man leicht, bequem und einfach eine Datenquelle, beispielsweise eine Exceltabelle, an eine Zeichnug hängen und die Daten mit den Shapes verknüpfen. Über das Kontextmenü kann man die Datenquelle auch entfernen.

Der Assistent hilft eine neue Datenquelle an die Zeichnung zu binden. Ist die neue Quelle genau so aufgebaut wie die alte, werden sofort korrekte Zuordnungen getroffen. Sehr praktisch:

Shapes verknüpfen

Amüsiert:
in einer Visio-Schulung zeige ich wie man eine Datenquelle an eine Zeichnung bindet. Wie man man die Datensätze mit den Shapes verknüpft. Und dass das Kettensymbol nicht nur anzeigt, dass dieser Datensatz verknüpft ist, sondern ein Doppelklick zeigt auch das verknüpfte Shape an.
Eine Teilnehmerin fragt, welches Shape denn mit „Anna“ verknüpft ist.
Ich muss zwei Mal hinschauen – sie hat aus Versehen den Datensatz auf die Hilfslinie gezogen …

Daten und Datengrafik

Eine hübsche Frage zu Visio:
An eine Zeichnung wird eine Exceltabelle gebunden mit technischen Informationen. Einige davon werden über eine Datengrafik angezeigt. Die Frage: Ich möchte die Texte ein klein wenig verschieben.
Leider sind die Datengrafiken etwas sperrig in Bezug auf die Anpassung, beispielsweise von Textpositionen.
Ich schlage vor ein eigenes Shape zu erstellen. Eine Gruppe, die mehrere Mitgliesdselemente beinhaltet. Ein Datensatz wird auf die Gruppe gezogen. Die „inneren“ Shapes holen sich mit einem Verweis auf das äußere Gruppenshape die Information, beispielsweise
=Sheet.4711!Prop._vis_Power
Diese Information wird angezeigt, kann bequem formatiert und verschoben werden. Die Datengrafik muss entfernt werden.
Und dann kam die Frage: Aber ich möchte möglicherweise noch eine Farbe verwenden – je nach Wert. Natürlich kann man so etwas im ShapeSheet einrichten. Datengrafik wäre einfacher.
Mein Vorschlag – warum nicht beides: ein selbst gebautes Shape, dass die Daten anzeigt unter Verwendung der Datengrafik. Der Vorschlag kam gut an.

Externe Daten

Wenn man in Visio externe Daten an eine Datei bindet, kann man leicht per Programmierung darauf zugreifen.
MsgBox ActiveDocument.DataRecordsets(1).CommandString
zeigt, dass ein SQL-Befehl dahinter liegt.


Mit einer Schleife kann man beispielsweise alle Namen auslesen:
ActiveDocument.DataRecordsets(1).DataColumns(j).Name

Shape-Reports

Schöne Aufgabe.
An eine Visio-Zeichnung wurden externe Daten gebunden: Eine Exceltabelle mit Informationen zu Racks. Die Aufgabe: Pro Gestell sollen die Infomationen der Racks zusammengefasst werden.


Nichts leichter als das – dafür stellt Visio einen Assistenten Shape-Berichte zur Verfügung.
Doch schon bei der ersten Frage zögere ich – welche Shapes sollen denn eingesammelt werden? Ich greife auf die x- und y-Position zu UND überprüfe, ob ein bestimmtes Datenfeld vorhanden ist. So stelle ich sicher, dass ich einerseits die Racks eines bestimmten Schrankes habe, andereseits aber nicht Elemente des Schranks selbst.


Der zweite Schritt ist leichter – es werden die Daten ausgewählt, die eingesammelt werden sollen.


Da die Summe berechnet werden soll, muss man die Option „GESAMT“ wählen. Einzelwerte sollen nicht angezeigt werden. Dies kann man über die Schaltfläche „Optionen“ deaktivieren.


Über die Schaltfläche „Sortieren“ ist es möglich die Reihenfolge der Felder zu ändern.


Der Bericht wird gespeichert.


Und ausgeführt – als Visio-Shape in der Zeichnung. Ebenso werden weitere Berichte erzeugt.


Über das Kontextmenü können die Berichte nun aktualisiert werden.

Shape-Daten

Wenn Sie in Visio Shape-Daten erstellen sollten Sie nicht beide Optionen „Beim Ablegen fragen“ UND „Ausgeblendet“ ankreuzen – die Option „Beim Ablegen fragen“ ist dann wirkungslos – klar! die Daten werden ja nicht angezeigt …

Datengrafik – funktioniert nicht …

Ich habe lange gesucht, bis ich verstanden habe, warum die Datengrafik in Visio nicht funktioniert.
Die Antwort war dann verblüffend einfach: vor dem Text befand sich ein Leerzeichen! Dann hat es funktioniert.

Shape-Datensätze

Sehr geehrter Herr Martin,
vielen Dank für das freundliche Gespräch und die Unterstützung. Hier noch einmal die Fehlerbeschreibung von meiner Seite.
• Ich habe ein Mastershape erzeugt. Die Datensätze des Mastershapes wurde nicht manuell erzeugt, sondern wurden von einer Shape-Datensatz Vorlage (hier „EMS_Instrument“) übernommen. Bei den Shapedaten habe ich eine „Variable Liste“ erzeugt mit fest hinterlegten Einträgen aus der Shapedaten-Vorlage.
• Nutze ich nun dieses Mastershape in einer Zeichnung und definiere unter „Funktion“ einen frei gewählten Text welcher nicht in der vordefinierten Auswahl besteht z.B. ABC. Dieser wird jedoch nach dem Schließen und erneuten Öffnen der Zeichnung aus dem verwendeten Shape wieder entfernt/gelöscht:
• Aus meiner Sicht gleicht Visio beim Laden der Zeichnung alle in der Zeichnung verwendeten Shapes mit den Mastershapes bzw. eigentlich mit der verknüpften Datensatzvorlagen ab. Da bei diesem der Eintrag „ABC“ nicht existiert wird der Eintrag ABC gelöscht bzw. die einzelnen Datensatzvorlage einfach wieder überschrieben. (Hinweis am Rande: Dieses passiert nur, wenn die variable Liste bereits in der Datensatzvorlage Einträge enthält. Ist die variable Liste in der Datensatzvorlage leer, werden freie Eingaben in der Zeichnung nicht überschrieben.)
• Ich habe mir nun über den Weg geholfen, dass ich im Mastershape die Verknüpfung „User.CPMSetList“ zur Datensatzvorlage entfernt habe und so kein Abgleich mehr Datensatzvorlage besteht.
• Ich würde mich freuen, wenn sie mir dieses Phänomen bei ihnen auch einmal gegenprüfen könnten.
• Zur Info: Ich nutze Visio Professional 2016 im „Verfahrenstechnik“ Modus
Best Regards
#####
Hallo Herr T.,
es geht einfacher: erstellen Sie ein Shape mit Daten. Fügen Sie die Daten zu einem ShapeDatensatz hinzu:
Übertragen Sie die Daten auf ein zweites Shape. Die Daten sind auf dem zweiten Shape vorhanden. Löschen Sie den Shape-Datensatz. Die Datenfelder (und mit ihnen die Daten) werden ebenfalls gelöscht. Das kann nicht im Sinne des Erfinders sein.
Ich habe hier Visio in Office 365 Version 1905; Build 11629.20246 – das dürfte die neueste Version sein.
 
Umgekehrt: mir ist aufgefallen: wenn ich das Shape mit den Daten, die aufgrund eines Daten-Satzes erzeugt wurden, in eine andere Datei kopiere, wird der Shape-Datensatz mitkopiert.
Sie haben recht: der Verweis auf den Daten-Satz steht im ShapeSheet – wird die Zelle „User.CPMSetList“ gelöscht, wird die Verknüpfung aufgehoben – alles klappt wieder.
Was mich wundert: ich finde die Shape-Datensätze nicht! Weder im ShapeSheet des Dokuments noch des Zeichenblattes. Auch nicht im Zeichnungsexplorer. Irgendwo müssen sie doch gekapselt sein … Witzig: wenn ich mit dem Makro diese Aktionen aufzeichne, erhalte ich: NICHTS!
 
Sorry – ich muss es deutlich sagen – das ist wohl ein Bug! Heißt: „vorsichtig“ bis gar nicht mit den Shape-Datensätzen umgehen!
 
Ich habe in meinem Buch „Visio 2013/2016 für Entwickler“ aufgelistet:
Erstaunlicherweise stehen einige Dinge nicht im ShapeSheet. Man kann sie nur per Programmierung auslesen. Hierzu gehören:
• Der Text
• Werden Informationen aus einer Datenquelle mit einem Shape verknüpft, kann man aus den ShapeSheet nicht die Verknüpfung ablesen. Die Daten werden bei jeder Aktualisierung neu in die Daten des Shapes geschrieben.
• Der Name des Zeichenblattes
• Der Name des verwendeten Hintergrundblattes
 
Ich werde es in der nächsten Auflage um den Punkt „Shape-Datensätze“ erweitern.
 
schöne Grüße
 
Rene Martin
 

OneNote

Morgen unterrichte in OneNote. Natürlich werde ich in der Schulung zeigen, wie man eine Visio-Zeichnung in sein Notizbuch einbindet.