Autor
|
Thema: CatVBA Makros auf anderen Rechner (6676 mal gelesen)
|
dbethge Mitglied Stud.Ing.
Beiträge: 44 Registriert: 02.12.2005 Catia V5 r17 sp3
|
erstellt am: 20. Jan. 2009 10:57 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin gerade dabei mit dem Buch von Jens ein paar Sachen für meine Diplomarbeit zu erstellen. Auf meinem Catia Windows Rechner habe ich mir den VBA Editor vom IT-Service installieren lassen. Hier kann ich die VBA Makros nun auch benutzen. Nur sollen die Makros natürlich auch den anderen Kollegen aus meienr Abteilung zur Verfügung gestellt werden und dort ist der CATIA VBA Editor nicht installiert. Wenn ich dort die Makro Bilbiothek öffne, erkennt er die Makros nicht. Wie kann ich die Makros denn lauffähig machen? Ich kann mir nicht vorstellen, dass man den VBA Editor extra auf allen Maschinen installieren muss, oder doch? Grüße und Dank im Voraus, Dirk [Diese Nachricht wurde von dbethge am 20. Jan. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Jan. 2009 11:07 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Jan. 2009 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Servus Ich dachte, dass VB6 automatisch mit CATIA installiert wird? Läuft denn ein "normales" catvbs-Script? Oder ist nur ein anderer Standardeditor eingestellt? Welche Fehlermeldung kommt den? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. 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: 20. Jan. 2009 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hallo, @Bernd: In der Standartinstallation von CATIA wird es auch "automatisch" mitinstalliert (is auf CD2). ABER in Firmen wird ja CATIA oft nicht in der Standartinstallation installiert und so kommt es schon vor das es nicht drauf ist. @Dirk: Lass doch die Admins pae LanDesk (oder je nach Software die bei euch im Einsatz ist) den Visaul Basic Editor nachinstallieren. Dann hat es jeder Rechner und es gibt in Zukunpft keine Probleme mehr. Aufwendig ist es auch nicht unbedingt das Bundle zusammenzustellen. @Jens: Sorry ich hab dein Buch nicht aber das funktioniert doch nur mit CATVba Projekten die z.B. keine UserFormen einsetzen oder? ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dbethge Mitglied Stud.Ing.
Beiträge: 44 Registriert: 02.12.2005 Catia V5 r17 sp3
|
erstellt am: 20. Jan. 2009 12:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, @Jens: Bin erst gerade wieder am Platz. Ich werde es gleich mal testen! Danke für den Tipp! @denyo:Theoretisch gebe ich Dir Recht. Den VBA Editor auf allen Rechnern installieren zu laasen. Nur würde ich dies, wenn nicht unbedingt notwendig, vermeiden. Jedes "Ticket", was man beim IT-Serivce in Auftrag gibt, kostet Geld. Da müsste ich mich mal erkundigen... Ich melde mich später nochmal, nachdem ich Jens` Methode getestet habe. Gruß, Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 20. Jan. 2009 12:10 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
|
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: 20. Jan. 2009 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hi, hätte ja sein können das du was weißt das ich noch nicht kannte. Ja mit "normalen" catvbs gehts hervorragend. Auch mit catscript ist es kein Problem den Quelltext einfach per copy&paste zu kopieren. Leider geht das nicht sobald UserFormen eingesetzt werden da diese halt bestandteil von Microsft Visual Basic sind. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dbethge Mitglied Stud.Ing.
Beiträge: 44 Registriert: 02.12.2005 Catia V5 r17 sp3
|
erstellt am: 20. Jan. 2009 12:22 <-- editieren / zitieren --> Unities abgeben:
Hi Jens, gut. Jetzt hast du mir meine nächste Frage vorweg genommen. Die wäre nämlich, wie gebe ich denn eine Userform weiter. Okay, also wenn ich Userformen benutzt habe, dann muss in jedem Fall der VBA Editor installiert sein bzw. VBA Bibliothek (was ist das genau?). Kann diese separat installiert werden? Ähnlich wie eine Kernel Library? Gruß, Dirk 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: 20. Jan. 2009 12:32 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hallo, nein die kann NICHT seperat installiert werden. Die VBA Bibliothek stellt eine Bibliothek dar in der sich alle CATVba Projekte befinden. Wenn du die Makro´s in V5 öffnest (also Alt + F8 drückst) findest du gleich oben rechts den Button Makrobibliotheken. Hier kannst du (falls VB6 in CATIA installiert wurde) eine CATVba Datei auswählen (*.catvba). Im Visual Basic Editor (ALT + F11 falls installiert) kannst du dann das Projekt mitsamt Modulen, UserFormen tec. sehen. VB6 muss aber für CATIA definitiv installiert sein (erst dann gibt es auch die entsprechenden *.dll Dateien und reg-Einträge) um eine *.catvba Datei zu öffnen ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dbethge Mitglied Stud.Ing.
Beiträge: 44 Registriert: 02.12.2005 Catia V5 r17 sp3
|
erstellt am: 20. Jan. 2009 12:41 <-- editieren / zitieren --> Unities abgeben:
Okay, habe ich verstanden. Der Export der reinen VBA-Makros (ohne Userform) mit Hilfe der Umbenennung, klappt. Danke für die Info! Wenn noch was sein sollte, melde ich mich an dieser Stelle. Gruß, Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 20. Jan. 2009 13:59 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Oder am besten gleich mit VB6, VB2008 und co. arbeiten. Dann hat man ein eigenständiges Programm, welches unabhängig von VB läuft. (Vorausgesetzt es sind alle nötigen dlls dabei) Grüße Dominik 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: 20. Jan. 2009 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Zitat: Original erstellt von V5Playaz: Oder am besten gleich mit VB6, VB2008 und co. arbeiten. Dann hat man ein eigenständiges Programm, welches unabhängig von VB läuft. (Vorausgesetzt es sind alle nötigen dlls dabei)Grüße Dominik
Das ist natürlich auch eine Möglichkeit. Visual Basic Express 2008 ist kostenlos und meiner Meinung nach einer der bessten Editoren zum Erstellen von Makros für CATIA, vorallem was den Komfort (automatisches Einrücken, Subs können minimiert werden, etc.) angeht ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dbethge Mitglied Stud.Ing.
Beiträge: 44 Registriert: 02.12.2005 Catia V5 r17 sp3
|
erstellt am: 20. Jan. 2009 14:43 <-- editieren / zitieren --> Unities abgeben:
Durch die Verwendung von VB Express als Editor, erspare ich mir aber nicht die Installation des VBA Editors auf anderen Rechnern, oder? Darum geht es ja. Ich besitze hier auch keinerlei Installationsrechte, sodass die Verwendung von VBE2008 o.Ä. auch wegfällt. Es klappt ja, nur finde ich es blöd, dass man bei Makros mit Userform den VBA Editor installiert haben muss. Grüße, Dirk 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: 20. Jan. 2009 14:58 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hallo, doch das sparst du dir dann, den mit Visal Basic Express 2008 (bzw. Visual Basic 2006) erstellst du ja eine *.exe mit (bzw. ohne) Installationsroutine. Sprich du hast am Ende eine *.exe. Diese kannst du z.B. per eMail verschicken. Der Empfänger kann sie dann einfach per Doppelklick starten und das Makro beginnt zu laufen (kann natürlich auch auf einer Symbollsieste angelegt werden und zentral von einem Server gestartet werden). Schau dir mal diesen Beitrag an. Diese *.exe wurde mit VB2006 erstellt und braucht keine eigene Installationsroutine (das kann nämlich zu Problemen führen, da nicht alle Anwender die Rechte haben etwas zu installieren. Kann aber in VBE08 und auch in VB06 expliziet angegeben werden ob das Programm eine Installationsroutine benutzt (dann erfolgt z.B. ein Eintrag im Startmunü und ein Desktop Ican, usw.) Hierbei brauchst du dann NUR auf deinem Rechner VBE installieren (bzw. installieren lassen). Der Nachteil daran ist, das natürlich NUR auf deinem Rechner das Programm (VBE) installiert ist. Sprich sollte jemals das Makro geändert werden müssen muss du wieder VBE installieren (bzw. an deinen Rechner gehen) und dort die Projektdatei ändern und wieder eine neue *.exe erstellen die du dann wieder verteilen musst. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dbethge Mitglied Stud.Ing.
Beiträge: 44 Registriert: 02.12.2005 Catia V5 r17 sp3
|
erstellt am: 20. Jan. 2009 15:16 <-- editieren / zitieren --> Unities abgeben:
|
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: 20. Jan. 2009 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hallo, mach das mal. Es ist halt nicht in CATIA direkt integriert. Bevor du also heute Abend verzweifelst hier noch ein zwei Anmerkungen. Erst einmal brauchst du in VBE einen Verweis auf die entsprechenden *.dll´s von CATIA. Dann musst du dir eine CATIA-Objekt erzeugen (z.B. Dim CATIA as INFTF.Application (hierzu brauchst du den Verweis auf die INFTF.dll aus dem CATIA-Installationsverzeichniss)). Dieses CATIA Objekt kannst du dann genauso nutzen wie das CATIA Objekt aus dem Visual Basic Editor (der in CATIA integriert ist). Kurzes Beispiel zum Erzeugen der CATIA Instanz Je nachdem was du mit dem Makro machen willst musst du dir halt die richtigen Verweise anziehen. Dazu findet man aber eigentlich alles bei google. Falls es dennoch irgendwie Probleme gibt kannst dich ja nochmal melden (per PM oder halt hier). ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
walterwerner Mitglied
Beiträge: 21 Registriert: 30.10.2004
|
erstellt am: 20. Jan. 2009 18:26 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
|
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 21. Jan. 2009 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hallo walterwerner, du machst gar nix falsch. In der Überwachung von .Net wird jeweils nur das überwachte Object selbst mit den zugehörigen Properties/Methoden angezeigt, sofern es korrekt gedimmt wurde. Du kannst aber nicht wie bei VB6 die Knoten im Baum des Überwachungsfensters aufklappen und durch die Struktur navigieren. Die Ursache ist ganz simpel: .Net spricht CATIA über die COM-Schnittstelle an (die eben VB6 nutzt). CATIA unterstützt .Net nur über diese "Krücke", d.h. es gibt keine Namespaces, die du importieren kannst. Wenn du also programmiertechnisches Neuland betrittst und nicht auf den gewohnten "navigationsfähigen" und damit unschlagbaren Watch verzichten willst kannst du .Net (trotz aller anderen Vorteile) einfach nur in die Tonne klopfen. Gruß TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 21. Jan. 2009 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
|
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 21. Jan. 2009 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hallo Jens Hansen, ich liege trotz allem richtig, da du von etwas ganz anderem redest/schreibst als ich. Es ist korrekt, das Zitat: alle entsprechenden Eigenschaften des jeweiligen Objektes innerhalb des Watch-Fensters sichtbar
sind. Aber eben nur des jeweiligen Objektes selbst (und das hat mit LateBinding nun überhaupt nix zu tun). Ich habe auf meine Anfrage warum das Navigieren im Tree des Watchs von .Net - bezogen auf CATIA - nicht so funktioniert wie in VB6.0 (bei Excel z.B. geht das) von IBM/Dassault die Aussage erhalten, das der Grund ist, das .Net auf CATIA-Objecte immer (!) über die COM-Objecte ( = Schnittstelle) zugreift und keine eigenen .Net Namespaces für CATIA verfügbar sind. Laut Dassault soll man .Net in Verbindung mit CATIA überhaupt nicht verwenden. Siehe dir mal den Screenshot an, welchem ich von VB6 Watch gemacht habe. Da wurde die CATIA.Applikation in den Watch gezogen und nun kann man im Tree bis zum letzten kleinen Punkt innerhalb der in CATIA geladenen Struktur navigieren, indem man einfach nur die Knoten des Trees aufklappt. Wenn du das mit .Net hinbekommst werde ich VB6 auf der Stelle in die Tonne klopfen. Stell einfach einen Screenshot ein. Aber bis dahin verzichte ich lieber auf .Net .... Gruß TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 21. Jan. 2009 15:39 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
|
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: 22. Jan. 2009 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hallo, @tomtom1972: Nur weil man die Objekte nicht bis zum letzten Punkt öffnen und anschauen kann kann ich es doch verwenden. Ich verstehe hier die Aussage von Daussault auch nicht ganz das man .NET nicht verwenden sollte. Letztendlich zählt doch das Ergebniss und wenn ich im Standarteditor eines CATScripts programmiere hab ich gar kein Watchfenster. Bei mir laufen alle Projekte die in .NET erstellt wurden genauso wie die die in VB06 bzw. mit dem internen VB geschreiben wurde. ABER ich finde zum Beispiel die graphische Aufbereitung eines WPF-Projekt mit .NET doch wesentlich ansehnlicher wie mit VB06 oder dem interen VB-Editor ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 23. Jan. 2009 07:46 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hallo denyo_1, es sagt ja auch keiner, das du es nicht verwenden sollst. Ich habe eben diese Antwort erhalten als ich nachgefragt habe, warum der Watch nicht so funktioniert wie ich es aus VB6 gewohnt war/bin. Das .Net sonst gut (oder wegen mir sogar besser) funktioniert bezweifele ich gar nicht. Wie weiter oben geschrieben geht es mir um folgendes: Wenn ich komplizierte Scripte schreibe und "programmiertechnisches" Neuland beschreite ist der Watch aus VB6 unschlagbar. Und solange nutze ich eben VB6 zum entwickeln. Gruß TomTom ------------------ tomtom1972 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: 23. Jan. 2009 10:20 <-- editieren / zitieren --> Unities abgeben: Nur für dbethge
Hallo Tom, ok da geb ich dir natürlich vollkommen recht. Wenn man sich auf Neuland begiebt und die Programmierung wirklich anspruchsvoll wird sind die Watches und Breakpoints unerlässlich. Ev. gehts ja mit CATIA V6 ;-) ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |