Thema Datum  Von Nutzer Rating
Antwort
10.12.2021 00:12:02 Niklas
Solved
10.12.2021 02:53:31 xlKing
*****
Solved
Rot Visio Shape-Daten mit vorgestellten Nullen in VBA Script importieren
11.12.2021 00:13:32 Niklas
Solved

Ansicht des Beitrags:
Von:
Niklas
Datum:
11.12.2021 00:13:32
Views:
465
Rating: Antwort:
 Nein
Thema:
Visio Shape-Daten mit vorgestellten Nullen in VBA Script importieren

Hi Mr K,

vielen Dank für deine Unterstützung. Du hast mir schon sehr weitergeholfen. Vor allem die eingebetteten Links haben mich zu den interessanten Ansätzen geführt.

 

Problem Vorgestellte Nullen:

Die Zelle in den ShapeSheet war defaultmäßig bereits als String definiert. Hier wurden ja auch die Nullen angezeigt.
Die Variable in meiner VBA Funktion, die ich mit dem *.Cells() Befehl gefüttert habe, hatte ich auch bereits als String Definiert. Daran lag es nicht.
Allerdings lernt man mit jedem Beispiel das man liest mehr nützliche Syntax und so konnte ich aus einem Beispiel, über das ich bei der Recherche für das Event kreieren gestolpert bin, ableiten das ich mit dem Zusatz „*.Cells().ResultStr“ den Text-String und nicht irgend einen Integerwert der die Nullen entfernt zurück erhalt.

Haken drann yes

 

Problem Script Ausführen:

Visio bietet in den Schape-Sheets ähnlich dem Eigenschaftsblatt bei Access Eventzellen, in denen man Funktionen ablegen kann. Im Gegensatz zu Access ist die Auswahl aber sehr übersichtlich. Es gibt sechs vordefinierte Events von denen eines nur ein Reserveplatzhalter ist.

Ein eigenes Application-Events im VBA-Script zu schreiben funktioniert zwar, allerdings ist dann der Application-Script-Code-Anteil umfangreicher als meine gesamte Funktion.
Das widerspricht an der Stelle meinem „keep it simple“ Ansatz.

Trotzdem habe ich es mal probiert und mit dem Beispiel Script (https://docs.microsoft.com/de-de/office/vba/api/visio.shape.cellchanged) gute Resultate erzielt.


Allerdings prüft dieses Event (cellchanged) jede Zellenänderung und nicht, wie meine MacGyver Trigger über die „=IF“ Funktion im den ShapeSheet, nur die eine explizite Zelle. Daher zwar eleganter aber auch noch nicht das wahre.

 

Ich werde es vorerst bei der Code-Ausführung durch meinen sinnlos-If-Befehl belassen. Beim Umgang mit Modulen, Klassenmodulen und dafür notwendigen eigenen Objektklassen fühle ich mich zu unsicher. Die simple Funktion über einen einzeiligen eintrag in einer Zelle zu Triggern ist der komplexitätsgrad auf dessen Niveau ich mich dan doch lieber bewege.

 

Eigentlich funktioniert somit alles wie gewünscht. Ich würde die Frage dennoch gerne ein paar Tage offenlassen, falls sich noch jemand meldet der mir bei den Events vielleicht noch weitere Tipps geben kann wie man das ausführen meiner Funktion beim Ändern einer einzelnen selbst definierten Zelle in den ShapeSheets möglichst wenig komplex aber auch ein wenig eleganter realisieren kann.

 

Viele Grüße
Niklas


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
10.12.2021 00:12:02 Niklas
Solved
10.12.2021 02:53:31 xlKing
*****
Solved
Rot Visio Shape-Daten mit vorgestellten Nullen in VBA Script importieren
11.12.2021 00:13:32 Niklas
Solved