| |
| KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
|
Autor
|
Thema: Makro beenden, wenn Product geöffnet ist (1464 / mal gelesen)
|
4ppU Mitglied
Beiträge: 44 Registriert: 19.04.2016 Unterschiedliche Arbeitsplätze/ Hardware. Catia V5 Microsoft Visual Basic for Applications
|
erstellt am: 03. Mai. 2016 12:06 <-- editieren / zitieren --> Unities abgeben:
Moin Zusammen, es ist mal wieder soweit, ich brauche Hilfe. Ich glaube, dass die Lösung eigentlich recht trivial ist, aber ich hänge gerade son bisschen in der Luft. Also ich habe ein Makro, das läuft und funktioniert soweit, basiert allerdings nur auf Parts. Ich möchte nun, dass vor dem Makrostart ein Fenster kommt mit dem Hinweis, dass nur Parts erlaubt sind oder über Open in new Window gearbeitet wird. -> das Fenster klappt auch soweit Das Fenster sollte nun am besten so gestaltet sein, dass es die Möglichkeit [OK] und [Cancel] existiert. Bei OK soll das Makro einfach Fortfahren, wenn jedoch ein Product geöffnet ist, den Code überspringen und beenden. -> Meldung "Öfnnen Sie ein Part" Wenn Cancel gewählt wird, soll das Makro einfach beendet werden. Problem ist, in dem Makro habe ich bereits eine If-Schleife, kann ich trotzdem noch eine drum herum legen? Oder funktioniert das dann nicht ? Für Tipps, Ideen und Lösungen bin ich euch sehr sehr dankbar!!!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ptit.tom Mitglied CAD-Berater
Beiträge: 115 Registriert: 11.02.2005 win10, CATIA R19 bis R30
|
erstellt am: 03. Mai. 2016 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für 4ppU
Hallo, damit sollte es gehen:
Code: If TypeName(CATIA.ActiveDocument) <> "PartDocument" Then Answer = MsgBox("The current document isn't a part. Do you want to continue?", vbOKCancel, "Error") If Answer = vbCancel Then Exit Sub Else MsgBox ("Please open a part") End If End If
[Diese Nachricht wurde von ptit.tom am 03. Mai. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
4ppU Mitglied
Beiträge: 44 Registriert: 19.04.2016 Unterschiedliche Arbeitsplätze/ Hardware. Catia V5 Microsoft Visual Basic for Applications
|
erstellt am: 03. Mai. 2016 14:49 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank! Wenn ich ein Produkt geöffnet habe, funktioniert das auch soweit. Also ich hab das jetzt mit meinem Code so gemacht: Code: If TypeName(CATIA.ActiveDocument) <> "PartDocument" Then Answer = MsgBox("The current document isn't a part. Do you want to continue?", vbOKCancel, "Error") If Answer = vbCancel Then Exit Sub '[HIER STEHT MEIN QUELLCODE DAZWISCHEN]Else MsgBox ("Please open a part") End If End If
Allerdings wenn ich diesen zusammengesetzten Code nun auf ein Part anwenden möchte, passiert nix mehr, wenn ich das Makro starte!?!?!? Hilfeeee? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 03. Mai. 2016 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für 4ppU
Servus Du musst den Code auch verstehen und entsprechend deinen Anforderungen anpassen. Vorschlag (ungetestet) Code: If TypeName(CATIA.ActiveDocument) <> "PartDocument" Then Answer = MsgBox("The current document isn't a part. The macro will be canceled.", OKOnly, "Error") Exit Sub end ifAnswer = MsgBox("The current document is a part. Shall the macro be started?", OKCancel, "Warning") if Answer = vbCancel Then Exit Sub else '[HIER dann dein Code] End If
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
4ppU Mitglied
Beiträge: 44 Registriert: 19.04.2016 Unterschiedliche Arbeitsplätze/ Hardware. Catia V5 Microsoft Visual Basic for Applications
|
erstellt am: 04. Mai. 2016 08:32 <-- editieren / zitieren --> Unities abgeben:
|
joehz Mitglied Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 06. Mai. 2016 17:46 <-- editieren / zitieren --> Unities abgeben: Nur für 4ppU
|