Autor
|
Thema: VBA-userForm mit CATScript starten (3793 mal gelesen)
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 13. Apr. 2010 09:36 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Ich versuche ein UserForm mit einem CATScript zu starten. Dazu rufe ich mit dem CATScript die Start-Routine in einem Modul des VBA-Projekts auf. Das VBA-Projekt ist dabei nicht in den Makrobibliotheken in CATIA angezogen. Beim Ausführen des CATScripts startet die UserForm aber der zusätzlich Code (Dokumententyp prüfen) in der UserForm_Initialize wird nicht ausgeführt. Wenn ich die UserForm beende und das CATScript wird der Code in der Initialize-Routine ausgeführt. Was mach ich falsch? Oder geht es nur wenn ich das VBA-Projekt als Makobibliothek definiere (was ich vermeinen möchte)? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MICHLICK Mitglied CAD Methodik Entwickler (CATIA; NX)
Beiträge: 454 Registriert: 20.06.2001 Der Aufwand bei Änderungen ist groß, wenn die Finger schneller klicken als das Gehirn denkt.
|
erstellt am: 13. Apr. 2010 12:36 <-- editieren / zitieren --> Unities abgeben: Nur für bgrittmann
Hallo Bernd, ich habe mir die UserForm_Initialize abgewöhnt, da diese nicht immer funktioniert. - Zumindest hat das nicht so funktioniert wie ich mir das vorgestellt habe. Ich habe mir deshalb eine Sub/Funktion Initialize gebaut, in der ich dann das mache, was ich eigentliche bei UserForm_Initialize machen würde. Damit klappt es bei mir sehr gut. Hast Du da was ganz spezielles vor? Vielleicht kann ich Dir da noch einen zusätzlichen Tipp geben. ------------------ Gruß Michael B. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 13. Apr. 2010 13:07 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 13. Apr. 2010 22:19 <-- editieren / zitieren --> Unities abgeben:
Servus Michael Ich hab mich leider zu früh gefreut. Was ist in deine "Sub Initialize" alles drin? Ist die in einem Modul oder in der UserForm? - dim Start_vba as New UserForm1 - Start_vba.Show Wo setzt du Startvariablen? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Technische:r Kontraktmanager:in Bautechnik | Wärme und Energie ist unser Beitrag zur Lebensqualität - jeden Tag aufs Neue.In Berlin versorgen wir rund 1,3 Millionen Wohneinheiten zuverlässig und klimaschonend mit Stadtwärme. Mit Hochdruck arbeiten wir in unserer Hauptstadt am Kohleausstieg bis 2030 und einer klimaneutralen Erzeugung ab 2040. Damit unterstützen wir das Land Berlin maßgeblich beim Erreichen der eigenen Klimaziele. Für diese ... | Anzeige ansehen | Bauwesen |
|
MICHLICK Mitglied CAD Methodik Entwickler (CATIA; NX)
Beiträge: 454 Registriert: 20.06.2001 Der Aufwand bei Änderungen ist groß, wenn die Finger schneller klicken als das Gehirn denkt.
|
erstellt am: 14. Apr. 2010 07:54 <-- editieren / zitieren --> Unities abgeben: Nur für bgrittmann
Hallo Bernd, das kann man machen wie man will. Wenn ich z.B. die Informationen für die Form in einem Modul habe, dann habe ich auch meine Initialize Sub im Modul. Ich befülle dann meist Auswahllisten oder ähnliches. z.B. UserForm1.ComboBox1.AddItem "neuer Wert" nach dieser Methode kann man die UserForm von überall her ansprechen. Wenn ich die Form für einen erneuten Aufruf zurücksetzen möchte verwende ich: Unload UserForm1 Load UserForm1 as New UserForm1 habe ich so noch nie verwendet. Dazu kann ich Dir keinen Tipp geben. ------------------ Gruß Michael B. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |