Autor
|
Thema: catvba-Makro mit catvba-Makros starten (2257 mal gelesen)
|
martin2 Mitglied Konstrukteur
Beiträge: 941 Registriert: 05.2002.27
|
erstellt am: 01. Feb. 2009 11:32 <-- editieren / zitieren --> Unities abgeben:
Hallo! Der Betreff sagt eigentlich schon alles - wie kann ich ein catvba-Makro aus einem catvba-Makro heraus starten? Kann mir da mal bitte jemand ein Beispiel nennen? P.S. Die Suchfunktion bringt Ergebnisse für CATScript - funktioniert aber offensichtlich nicht mit catvba. Danke schon mal im voraus! Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 01. Feb. 2009 18:15 <-- editieren / zitieren --> Unities abgeben: Nur für martin2
Hallo Martin, das funktioniert genauso wie mit einem CATScript nur muss ein anderer Werte beim Aufruf der Funktion eingetragen werden. Versuchs mal mit folgendem Code: Code:
Dim myScript Dim Params() myScript = CATIA.SystemService.ExecuteScript("C:\", catScriptLibraryTypeVBAProject, "TEST.catvba", "CATMain", params)
catScriptLibraryTypeVBAProject das ist eine Enum und die bestimmt welcher Typ aufgerufen wird (also CATScript, CATScript aus Datei oder CATVba Projekt). Um das rauszufinden kannst entwerder den Objektbrowser oder die v5automatition Datei befragen ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin 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: 02. Feb. 2009 10:20 <-- editieren / zitieren --> Unities abgeben: Nur für martin2
Hallo, der Aufruf eines CATScripts und einer catvba unterscheiden sich ein klein wenig von einander. Bei catvba muss das so aussehen: CATIA.SystemService.ExecuteScript(sScriptPath, catScriptLibraryTypeVBAProject, sScriptName, sScriptFunction, vScriptParams) wobei sScriptPath der komplette Pfad inkl. Datei ist (z.B. "C:\Test.catvba") der 2. Parameter ist eine Konstante und muss genau so heißen. der 3. Parameter ist der Modulname der 4. Parameter ist dann der Name der Funktion z.B. "CATMain" der 5. Parameter sind dann noch Übergabeparameter (Typ Variant) ------------------ Gruß Michael B. [Diese Nachricht wurde von MICHLICK am 02. Feb. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
martin2 Mitglied Konstrukteur
Beiträge: 941 Registriert: 05.2002.27
|
erstellt am: 02. Feb. 2009 16:41 <-- editieren / zitieren --> Unities abgeben:
Hallo! Schon mal Danke für die Antworten - allerdings bring ich die Sache noch nicht so richtig ans Laufen... Im Anhang ein Bild, welches den Fehler darstellt, welchen ich erhalte nachdem ich das Makro laufen lasse. Zur Info: Ich möchte mir ein kleines Makro mit Benutzerschnittstelle basteln, welches wiederum verschiedene andere Makro's starten kann. Dabei gibt es bei beiden Makro's "CATMain". (sowohl beim aufrufenden, als auch beim aufgerufenen Makro) Könnte das evtl. ein Problem darstellen? Danke und Gruß Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 02. Feb. 2009 17:00 <-- editieren / zitieren --> Unities abgeben: Nur für martin2
|
martin2 Mitglied Konstrukteur
Beiträge: 941 Registriert: 05.2002.27
|
erstellt am: 02. Feb. 2009 17:30 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal! Wunderbar es läuft. Hier der Code: Dim myScript Dim SysServ Dim Params() Set SysServ = CATIA.SystemService myScript = SysServ.ExecuteScript("C:\Makros\Umwandlung_von_CATParts.catvba", catScriptLibraryTypeVBAProject, "Umwandlung_von_CATParts", "CATMain", Params) Besten Dank nochmal und Grüße! Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |