Ich wünschte, ich könnte eine MsgBox anzeigen, wenn der Benutzer die "ESCAPE"-Taste drückt, während mein Makro ausgeführt wird.
Ich habe am Anfang meines Makros hinzugefügt:
Excel.Application.OnKey "{ESC}", "Escape"
Und setzen Sie die MsgBox in den folgenden Sub:
Unter-Escape() If MsgBox("Stop macro?", vbYesNo + vbQuestion) = vbYes Then Sub beenden Oder Zusammenfassung "Setzt die Ausführung fort Ende, wenn Ende Sub
Wenn der Code nicht gestartet wird, passiert nichts. Ich habe nur mit Application.OnKey getestet und es funktioniert großartig.
Auf der anderen Seite muss diese Funktion jederzeit aktiv sein, daher sollte sie wahrscheinlich in dem Blatt platziert werden, in dem die Steuerung der Aktionen des Benutzers erfolgen soll.
Ich bin auf SW, aber Application.OnKey ist Teil der Excel-Bibliothek. Ich lese nicht nur, sondern mein Makro kommuniziert über WebServices mit unserem ERP...
Meiner Meinung nach wird es nicht möglich sein, Excel-Verfahren in SW zu verwenden. Sehen Sie sich nach einer schnellen Suche die vbkey-Ebene an, die für die Foren gilt.
Veranstaltungen durchführen Wenn (GetAsyncKeyState(vbKeyEscape)) dann If MsgBox("Stop macro?", vbYesNo + vbQuestion) = vbYes Then Ende Oder Ende, wenn Ende, wenn