| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Inventor VBA Makro zum Dialog schließen (1757 mal gelesen)
|
BerlinMaker Mitglied Maschinenbauingenieur
Beiträge: 8 Registriert: 15.08.2019
|
erstellt am: 15. Aug. 2019 13:34 <-- editieren / zitieren --> Unities abgeben:
Hallo alle, im Zuge eines Konfigurations-Projektes mit Autodesk Inventor 2018 habe ich das Problem, dass sich das "Datei öffnen" Fenster öffnet - aber u.U. garnichts geöffnet werden soll. Ich möchte nun also das "Datei öffnen" Fenster schließen, entweder mit "abbrechen" oder mit dem kleinen roten "Schließen-x" oben rechts. Ich habe mit ein bisschen Code zum UserForm schließen herumgespielt (wie "Private Sub CommandButton4_Click() End End Sub"), aber das hatte keinen Erfolg. Öffnen kann ich den Dialog mit Sub OpenDialog() Dim oFileDlg As FileDialog Call ThisApplication.CreateFileDialog(oFileDlg) oFileDlg.InitialDirectory = "C:\" oFileDlg.CancelError = True On Error Resume Next oFileDlg.ShowOpen End Sub aber durch "abbrechen" geschlossen kriege ich ihn nicht. Hat jemand eine Idee? Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerlinMaker Mitglied Maschinenbauingenieur
Beiträge: 8 Registriert: 15.08.2019
|
erstellt am: 15. Aug. 2019 16:10 <-- editieren / zitieren --> Unities abgeben:
[Update] meine Idee ist es gerade, das ganz einfach zu lösen Sub CloseDialog() ThisApplication.CommandManager.StopActiveCommand End Sub oder Sub CloseDialog() SendKeys "{ESC}" End Sub Aber scheinbar scheint mich das "Datei-öffnen" Fenster irgendwie zu blockieren. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 358 Registriert: 20.08.2003 Windows 10 Prof 64 Bit Inventor Prof 2021 Vault Basic 2021
|
erstellt am: 16. Aug. 2019 06:45 <-- editieren / zitieren --> Unities abgeben: Nur für BerlinMaker
Hallo Also, ich kann mit deinem 1. Code das Dialog-Fenster problemlos durch abbrechen oder durch das rote Kreutz schliessen. Hast du vor dem Code noch irgendeine Deklaration gemacht? Oder wird ein auto-open Makro ausgeführt, welches das schliessen verhindert? Gruss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerlinMaker Mitglied Maschinenbauingenieur
Beiträge: 8 Registriert: 15.08.2019
|
erstellt am: 16. Aug. 2019 07:13 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die schnelle Antwort erstmal! Vielleicht muss ich das nochmal besser erklären: Der Code aus dem ersten Beitrag öffnet ein "Datei-öffnen" Fenster. [Jetzt passiert etwas ganz anderes] Jetzt brauche ich einen zweiten Code, der das Fenster wieder schließt, wenn keine Nutzereingabe erfolgt ist Und genau diesen suche ich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 358 Registriert: 20.08.2003 Windows 10 Prof 64 Bit Inventor Prof 2021 Vault Basic 2021
|
erstellt am: 16. Aug. 2019 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für BerlinMaker
Hallo Zitat:
Der Code aus dem ersten Beitrag öffnet ein "Datei-öffnen" Fenster.
OK, verstanden Zitat:
[Jetzt passiert etwas ganz anderes]
verstehe ich nicht?? Zitat:
Jetzt brauche ich einen zweiten Code, der das Fenster wieder schließt, wenn keine Nutzereingabe erfolgt ist
Das geht meiner Meinung nach nicht, da das Fenster auf eine Eingabe oder auf abbrechen / schliessen wartet, und in dieser Zeit kann kein Code ausgeführt werden. Wieso kannst du das Fenster nicht einfach durch abbrechen oder klicken auf das rote Kreuz schliessen?? Gruss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerlinMaker Mitglied Maschinenbauingenieur
Beiträge: 8 Registriert: 15.08.2019
|
erstellt am: 16. Aug. 2019 09:28 <-- editieren / zitieren --> Unities abgeben:
Danke für die schnelle Antwort, ja, das habe ich auch schon vermutet, dass das auf Eingabe wartende Fenster ein Blocker ist. Wenn niemand eine Eingabe tätigt, dann würde ich mein Makro gerne weiter durchlaufen lassen und fortfahren. Dazu müsste ich das Fenster aber nach einer Zeit X per VBA schließen können. Und genau dieser Codeschnipsel "Datei-öffnen-Fenster-schließen" fehlt mir. Grüße zurück und Danke für die Mühe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meierjo Mitglied
Beiträge: 358 Registriert: 20.08.2003 Windows 10 Prof 64 Bit Inventor Prof 2021 Vault Basic 2021
|
erstellt am: 16. Aug. 2019 10:16 <-- editieren / zitieren --> Unities abgeben: Nur für BerlinMaker
|
BerlinMaker Mitglied Maschinenbauingenieur
Beiträge: 8 Registriert: 15.08.2019
|
erstellt am: 16. Aug. 2019 10:29 <-- editieren / zitieren --> Unities abgeben:
|
metalgod Mitglied Technischer Zeichner, Mädchen für alles
Beiträge: 32 Registriert: 23.09.2015 Win10x64 Prof. Intel Core i7-8700K 3,70GHz, 16GB Ram Inventor Prof. 2018 64-Bit Visual Studio 2015 Express
|
erstellt am: 16. Aug. 2019 11:35 <-- editieren / zitieren --> Unities abgeben: Nur für BerlinMaker
Hallo, Zitat: Original erstellt von BerlinMaker: ...das Problem, dass sich das "Datei öffnen" Fenster öffnet - aber u.U. garnichts geöffnet werden soll...
Wie und durch wen kommt es überhaupt dazu, dass das Fenster geöffnet wird?
------------------ alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerlinMaker Mitglied Maschinenbauingenieur
Beiträge: 8 Registriert: 15.08.2019
|
erstellt am: 16. Aug. 2019 11:44 <-- editieren / zitieren --> Unities abgeben:
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 601 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 16. Aug. 2019 13:40 <-- editieren / zitieren --> Unities abgeben: Nur für BerlinMaker
Wie wäre es mit einem Popup vor dem Öffnen des Dialogs? Da lässt sich die Zeit einstellen, wie lange es angezeigt wird. So etwa "soll eine Datei gewählt werden?" mit 5 s Zeit. Wenn ok gedrückt wird, dann Dialog öffnen. Sonst eben nicht und dein Code könnte weiter laufen... Gibt bestimmt elegantere / modernere Möglichkeiten, aber das könnte funktionieren. Windows Script Host Popup Method ------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerlinMaker Mitglied Maschinenbauingenieur
Beiträge: 8 Registriert: 15.08.2019
|
erstellt am: 16. Aug. 2019 13:46 <-- editieren / zitieren --> Unities abgeben:
|
BerlinMaker Mitglied Maschinenbauingenieur
Beiträge: 8 Registriert: 15.08.2019
|
erstellt am: 21. Aug. 2019 07:18 <-- editieren / zitieren --> Unities abgeben:
Nur als Rückmeldung: Funktioniert prinzipiell (wobei hier noch diskutiert wird, ob ein Timer den gewünschten Effekt bringt). Eine Mitteilungsbox msgbox(Text) mit Timer klappt auch. Danke also erstmal (und wenn jemand noch eine weitere Idee hat, darf er sie gerne schreiben) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |