Autor
|
Thema: Excel durch CATIA ansprechen (2236 mal gelesen)
|
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 20. Jul. 2009 11:06 <-- editieren / zitieren --> Unities abgeben:
Ich bin gerad dabei meine Bachelorarbeit zu erstellen. Im Rahmen dessen muss ich mich mit Makroprogrammierung beschäftigen. Mein Kenntnissstand davor war = 0. Inzwischen kenn ich mich ein bischen aus, weil ich auch öffters hier drin etwas nachgelesen habe. Jedoch stellt sich für mich die grundlegende Frage ob ich "alle" Funktionen die ich mit einem Makro in Excel nutzen kann auch mit einem Makro aus CATIA ansprechen kann? Wenn ja, spielt es eine Rolle ob das Skript in CATScript oder catvbs verfasst ist? ------------------ Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 20. Jul. 2009 11:18 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Versuch doch mal die "Suche" - es gibt reichlich Beiträge dazu. Du kannst in catvba bzw. catvbs EXCEL ansprechen mit Public Oxls As Excel.Application und Set Oxls = CreateObject("Excel.Application") ------------------ Grüße aus dem Rheinland Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... "Phase 2 in CATIA V5" - www.tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 20. Jul. 2009 11:23 <-- editieren / zitieren --> Unities abgeben:
Ich habe schon danach gesucht aber man findet ja immer nur kleinere Schnippsel. Gewisse aufgaben bekomm ich ja hin. Nur hab ich ein Makro im Excel welches ich in ein CATIA Makro integrieren will. In CATIA können aber viele Befehle nicht gelesen werden und in der V5Auotmation.chm komm ich nich weiter und die Excel interne Hilfe bringt mich da auch nicht weiter! Deswegen die generelle Frage ob ich aus CATIA überhaupt alles ansprechen kann? ------------------ Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 20. Jul. 2009 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Nun, komplette Macros für deine Anforderung wirst du im Forum nicht bekommen, Schnipsel wie du schon gefunden hast zum Zusammenschnibbeln. Evtl. musst du die MecMod - DLL noch referenzieren bzw. wenn EXCEL jetzt die externe Applikation wird, dann EXCEL-libs referenzieren, evtl. auch weitere. Aus CATIA heraus wirst du alles, was in den Libs verlinkt ist, mit dem vba-Editor ansprechen können.
------------------ Grüße aus dem Rheinland Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... "Phase 2 in CATIA V5" - www.tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 20. Jul. 2009 11:33 <-- editieren / zitieren --> Unities abgeben:
Soweit schon mal danke Thomas Wenn ich das richtig verstanden hab, dann kann CATIA auf die Excel Befehle zurückgreifen, allerdings muss ich im Makro reinschreiben wo diese Befehle stehen?!?! Ok soweit, aber ich hab das bisher noch nich gemacht. Deswegen gleich noch die Frage ob sowas mit relativen Angaben gemacht werden kann und somit Rechnerunabhängig bleibt? Grüße aus dem Bodensee-Hinterland Christoph ------------------ Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 20. Jul. 2009 11:37 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Wenn du den vba-Editor auf hast und die Zeilen meines ersten Antwort-Posts eingefügt hast, wirst du sämtliche Excel-Befehle "interaktiv" eingeblendet bekommen, wenn du nur mit "Oxls." etc. beim programmieren anfängst. ------------------ Grüße aus dem Rheinland Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... "Phase 2 in CATIA V5" - www.tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bopkes Mitglied
Beiträge: 40 Registriert: 21.04.2009
|
erstellt am: 20. Jul. 2009 11:43 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Hi, ich mache grad etwas ähnliches! Führe eine Berechnung in Catia durch und werte die Ergebnisse in Excel aus! Aufrufen kannst du Excel wie oben beschrieben über: Public Oxls As Excel.Application und Set Oxls = CreateObject("Excel.Application") für dein Excel Makro stehen dir die ganz normalen VBA Befehle zur Verfügung!Aufpassen mußt du nur bei den "Excel-internen " Befehlen wie z.B xlDown (also die in denen in deinem Excel-Makro ein "xl" davor stehen).Diese Befehle kennt Catia nicht deshalb mußt du sie im Excel Direktfenster (im Excel VBA Bereich mit STR G öffnen). Dann gibst du im Direktbereich den Excelbefehl mit Fragezeichen ein und drückst Return! Als z.b ?xlDown ---------->Return und du bekommst für diesen Befehl (also für xlDown) -4121 Damit kann Catia dann arbeiten!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 20. Jul. 2009 11:47 <-- editieren / zitieren --> Unities abgeben:
Danke Thomas und Bobkes, jetzt weis ich wo ich stehe. Nämlich vor einer Wand! Ich habe kein VBA-Editor, mal die Admins fragen ob mir einer den installieren kann. Kann ich den dann auch im CATIA verwenden? Wenn ja weis ich wie ich den Einbauen kann! ------------------ Grüße Christoph ************************************************* Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 20. Jul. 2009 11:48 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
|
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 20. Jul. 2009 11:51 <-- editieren / zitieren --> Unities abgeben:
alt+F11 bringt bei mir nix! der VBA-Editor muss doch extra installiert werden , oder nicht? ------------------ Grüße Christoph ************************************************* Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. 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. Jul. 2009 11:58 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Hallo, kommt auf die Installation bzw. auf die Installationsroutine deiner Admins an. DER VBA-Editor wird in der Standardinstallation mit installiert kann aber bei einer benutzerdefinierten Installation rausgenommen werden. IMHO befindet er sich auf der zweiten CD. D.h. du müsstest mal mit deinen Admins sprechen das sie dir den Editir nachinstallieren. Ansonsten wird es wohl sehr schwer werden ein vba-Makro zu erstellen ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 20. Jul. 2009 12:00 <-- editieren / zitieren --> Unities abgeben:
Dnake euch allen! Werde schauen, dass ich den Editor installiert bekomme! Hoffe, dass es dann funktioniert. ------------------ Grüße Christoph ************************************************* Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 20. Jul. 2009 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Nur noch eine "Triviale" Frage (deine Systeminfo fehlt ja) Du arbeitest aber nicht auf einer UNIX-Workstation? Dann kriegst du auch keine Installation. ------------------ Grüße aus dem Rheinland Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... "Phase 2 in CATIA V5" - www.tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 20. Jul. 2009 12:10 <-- editieren / zitieren --> Unities abgeben:
Ne, ist Windows und ich denke es wird auch nur auf Windows Rechnern eingesetzt. ------------------ Grüße Christoph ************************************************* Die Katia am Morgen, bringt dir reichlich Sorgen! [Diese Nachricht wurde von MakroNovize am 20. Jul. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 20. Jul. 2009 18:43 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Hallo Christoph, Um deine Frage einfach zu beantworten: du kannst unter CATIA (Windows) alle Funktionen der Excel VBA erreichen, egal ob aus CATScript, VBScript oder VBA. Du musst nur dein Code etwas anpassen. Wie es schon an einige Stellen im Thread steht, musst du dir den Excel Application Object holen: Ich verwende dazu normalerweise folgender Code, was entweder einen der laufenden Excel zieht oder einen Instanz startet, falls noch keiner läuft:
Code: Global oExcel As Object 'Excel als globale Variable deklarierenSub StartExcel() On Error Resume Next Set oExcel = GetObject(, "Excel.Application") On Error GoTo 0 ' If oExcel = "" Then Set oExcel = CreateObject("Excel.Application") ' End If Set oExcel = GetObject(, "Excel.Application") oExcel.Application.Visible = True End Sub
Alles, was du in Excel normal angesprochen hast, z.B. ActiveWorkbook musst du unter CATIA als oExcel.ActiveWorkbook ansprechen. Du kannst den kompletten Code auch in Excel VBA programmieren und testen und am Ende nur nach CATIA übernehmen, wenn du ein bisschen beim Programieren aufpasst: -Möglichst viele Objekte verwenden und alles auf diese Objekte beziehen (z.B. Dim oWB as Workbook; Set oWB = oExcel.ActiveWorkbook; nachher immer nur oWB ansprechen). Das geht bis auf einige Formatierungen einwandfrei -Bereits in Excel die globale Variable oExcel erzeugen und mit Set oExcel=Excel.Application setzen. Dann hast du die selbe Umgebung.Unterschiede für CATScript wird es nur in den Datentypen bei der Deklaration geben, dieses ist aber mit reines CATIA genauso. Das Buch von Jens Hansen hat auch einige Beispiele über die Zusammenarbeit zwischen Excel und CATIA. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 21. Jul. 2009 07:44 <-- editieren / zitieren --> Unities abgeben:
|
myTea Mitglied Ingenieur Fahrzeugtechnik
Beiträge: 1344 Registriert: 22.07.2002 IBM/Lenovo Thinkpad Z61p Core Duo 2,13 3Gb Ram
|
erstellt am: 21. Jul. 2009 13:01 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Du kannst übrigens auch genau den umgekehrten Weg machen: aus Excel Catia ansprechen, anstatt Excel aus Catia ansprechen. Funktioniert ganz genauso. Mache ich sogar etwas lieber, weil dann das Makro in der Excel-Tabelle drin ist und ich dann im Excel das Makro über einen Button starten kann. Dann heisst der Befehl halt nicht Excel.Application sondern Catia.Application. Je nachdem was Du machen willst kann das auch eine gute Alternative sein. Gruß, Thomas ------------------ http://www-03.ibm.com/solutions/plm/country/de/index.html Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 21. Jul. 2009 13:28 <-- editieren / zitieren --> Unities abgeben:
Hi Thomas, ich hab das ganze Makro schon im Excel laufen, aber das gefällt mir nicht. Es ist dann an das Dokument gebunden und das ist nich sinn der Sache. Das Makro soll in Beliebige Exceldateien (die schon vorhanden sind) schreiben und leicht weitergegeben werden können. Da find ich ist ein CATIA Makro besser geeignet. Trotzdem Danke ------------------ Grüße Christoph ************************************************* Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |