VBA Solidworks, MsgBox, die automatisch geschlossen wird

Hallo ihr alle

Ich habe diese Befehlszeile in VBA gefunden, die ursprünglich in Excel verwendet wurde:  (hier: https://excel-malin.com/codes-sources-vba/msgbox-qui-se-ferme-automatique/)

CreateObject("WScript.Shell"). Popup "Inhalt des Dialogfelds ... ", 5, "Titel des Dialogfelds"    //5 ist hier die theoretische Dauer in Sekunden

um Makros mit flüchtigen Meldungen auszuführen (einstellbarer Timer).

In Excel funktioniert es ganz gut (das Tempo wird nicht wirklich eingehalten), aber nicht in Solidworks??? Das Fenster erscheint, verschwindet aber nicht...

Gibt es eine Alternative, um diese Meldung nach einigen Sekunden verschwinden zu lassen, um das Makro nicht zu blockieren?

Gibt es eine Funktion, die in SOLIDWORKS aktiviert werden muss, damit dieser Befehl funktioniert?

Zu Ihrer Information, meine Makros sind einfach und erfordern (noch) nicht die Verwendung von Formularen mit Schaltflächen.

Kannst du mir helfen?

Herzliche Grüße

Thierry


boite_fugitive.swp

Hallo;

Ein Hinweis, in den man eintauchen kann  (ich habe nicht getestet). 
In solidworks haben die meisten Meldungen nicht das folgende Format: msgbox(Nachricht, Symbol, Schaltflächen)
aber am häufigsten: SendMsgToUser2(Nachricht, Symbol, Schaltflächen)

Herzliche Grüße.

Funktioniert nicht unter SOLIDWORKS, auch wenn die Microsoft Shell-Referenz aktiviert ist.

Das Popup wird angezeigt, bleibt aber bis zur Validierung bestehen.

Vielleicht eine Einschränkung der Software, die diese Art von Popup verbietet, die in einem Internetbrowser so unangenehm war.

Ich denke, die einzige Möglichkeit, eine temporäre Nachricht anzuzeigen, ist die Lösung, die Sie mit einem Formular nicht möchten.

Hallo sbadenis,

Vielen Dank für Ihre Antwort.

Das ist leider das, was ich befürchte, auch wenn es nicht allzu kompliziert ist, finde ich es schade, dass ein "fertiger" Befehl auf SW2021 nur halb funktioniert und dass er auf Excel 2013 komplett funktioniert, auch wenn das Tempo nicht präzise ist...

In diesem Fall denke ich darüber nach, eine Funktion asynchron zu erstellen, es sei denn, es gibt eine Tempofunktion, die vorhanden ist.

Herzliche Grüße.

Hallo ihr alle

Ich beantworte meine eigene Frage, um sie zu teilen.

Es handelt sich nur um einen Zähler, der in einer Schleife ausgeführt wird, bis er den angeforderten Wert erreicht.

Es ist nicht auf die Sekunde genau und variiert je nach Leistung des PCs, aber es erfüllt die Aufgabe.

Herzliche Grüße.


boite_fugitive.swp