Autor
|
Thema: Excel starten (2731 mal gelesen)
|
wulfgang Mitglied
Beiträge: 64 Registriert: 29.04.2007 CATIA V5 R18
|
erstellt am: 31. Mrz. 2010 19:48 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich wollte aus einem Makro in CatVBA auf Excel zurückgreifen. Code: Sub CatMain() Dim oExcel As Application Dim oWB As Workbook Dim oWS As Worksheet ' Excel starten Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True ' arbeitsmappe öffnen Set oWB = oExcel.Workbooks.Open("e:\temp\punkte.xls") ' tabelle holen Set oWS = oWB.Worksheets.Item(1)End Sub
Leider erhalte ich dann schon eine Fehlermeldung wegen dem Workbook: Zitat: User-defined type not defined
Muss ich noch irgendeine Binliothek einfügen???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: 31. Mrz. 2010 20:07 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
|
wulfgang Mitglied
Beiträge: 64 Registriert: 29.04.2007 CATIA V5 R18
|
erstellt am: 31. Mrz. 2010 20:20 <-- editieren / zitieren --> Unities abgeben:
|
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: 01. Apr. 2010 09:29 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
Hallo, bei mir unter VB2008 muss ich das so deklarieren: dim oExcel as Excel.Application Dann ist sichergestellt, dass auch auf die Excel-Bibliothek zurück gegriffen wird. Oder halt alternativ as Object deklarieren. Grüsse Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rubio18 Mitglied Ingenieur
Beiträge: 19 Registriert: 10.10.2013 Catia V5 R19SP09 Excel 2010
|
erstellt am: 10. Okt. 2013 11:29 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
Hi Zusammen, für mein VBA-Projekt war der genannte Code schon sehr Hilfreich. War auch so frech und habe ihn 1 zu 1 übernommen. Allerdings habe ich noch ein Problem. Wenn ich das Makro aus Catia heraus starte, wird Excel gestartet. Es öffnet auch die von mir gewünschte Tabelle. Ich hätte nur gerne, dass die Excel-Tabelle im Vordergrund ist. Im Moment blinkt in der Windowsleiste nur das Excel-Symbol. Hatte gedacht, das geht mit dem Befehl "Excel.Visible = True". Hier habe ich anscheinden Falsch gedacht Würd mich über jegliche Hilfe freuen. Beste Grüße Ruben PS: Hier nochmal mein Code: Sub CATMain() Dim Excel As Object Dim WB As Workbook ' Excel starten Set Excel = CreateObject ("Excel.Application") Excel.Visible = True ' Arbeitsmappe Öffnen Set WB = Excel.Workbooks.Open ("L:\Modelle_CV5\Konstruktionstabelle\DESIGNTABLE_All.xls") End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004
|
erstellt am: 10. Okt. 2013 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
|
Rubio18 Mitglied Ingenieur
Beiträge: 19 Registriert: 10.10.2013 Catia V5 R19SP09 Excel 2010
|
erstellt am: 10. Okt. 2013 13:22 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
|
imation1999 Mitglied dipl.-ing. Maschinenbau
Beiträge: 276 Registriert: 02.08.2011 Dell Precision T3500 Intel® Xeon® Quad Core NVIDIA Quadro® 5000 Win7 x64 Ultimate CATIA V5 R20 SP2
|
erstellt am: 10. Okt. 2013 13:49 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
Hallo, Du kannst so auch versuchen: Code: Sub CATMain()Dim Excel As Object Dim WB As Workbook ' Excel starten Set Excel = CreateObject("Excel.Application") Excel.Visible = True ' Arbeitsmappe Öffnen Set WB = oExcel.Workbooks.Open("L:\Modelle_CV5\Konstruktionstabelle\DESIGNTABLE_All.xls") Excel.WindowState = xlMaximized End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 10. Okt. 2013 20:14 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
aus Catia heraus Code: Private Declare Sub Sleep Lib "kernel32.dll" ( _ ByVal dwMilliseconds As Long) Sub CATMain()Dim oExcel As Object Dim WB As workbook ' Excel starten Set oExcel = CreateObject("Excel.Application") ' Arbeitsmappe Öffnen Set WB = oExcel.workbooks.Open("C:\tmp\test.xlsx") oExcel.Application.Visible = True 'excel sichtbar Sleep 1000 oExcel.Application.Visible = False 'excel unsichtbar CATIA.Application.Visible = True 'Catia sichtbar Sleep 1000 oExcel.Application.Visible = True'excel sichtbar CATIA.Application.Visible = False 'Catia unsichtbar Sleep 1000 oExcel.Application.Visible = False 'excel unsichtbar CATIA.Application.Visible = True 'Catia sichtbar Sleep 1000 oExcel.Application.Visible = True 'excel sichtbar End Sub
kursiv wird nicht wirklich benötigt @imation1999 Set WB = oExcel.Workbooks.Open("L:\Modelle_CV5\Konstruktionstabelle\DESIGNTABLE_All.xls") das o ist hier zuviel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rubio18 Mitglied Ingenieur
Beiträge: 19 Registriert: 10.10.2013 Catia V5 R19SP09 Excel 2010
|
erstellt am: 11. Okt. 2013 13:33 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
Hi, erstmal vielen Dank für die Hilfe!!! Es funktioniert fast so wie ich es mir vorstelle. Hab noch ein Problem, das ich mir selbst nicht erklären kann. Ich hab den folgenden Code: Sub CATMain() Dim oExcel As Object Dim WB As Workbook ' Excel starten Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True ' Arbeitsmappe Öffnen Set WB = Excel.Workbooks.Open _ ("L:\Modelle_CV5\Konstruktionstabelle\DESIGNTABLE_All.xls") Excel.Application.Visible = True oExcel.WindowState = xlMaximized End Sub Wenn ich Catia starte und das Makro zum ERSTEN mal aufrufe, dann blinkt wie gehabt nur das Excel-Symbol in der Windowsleiste. Wenn ich allerdings den Code wieder aufrufe (Excel-Datei ist wieder geschlossen) dann ploppt das Excel-Fenster auf (So wie ich es gerne hätte). Ich schätze ich muss noch irgendetwas irgendwo aktivieren/deklarieren damit dieses Problem auch weg ist.
Würde mich freuen, wenn Ihr mir helfen könnten dieses Problem zu lösen. Grüße Ruben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
imation1999 Mitglied dipl.-ing. Maschinenbau
Beiträge: 276 Registriert: 02.08.2011 Dell Precision T3500 Intel® Xeon® Quad Core NVIDIA Quadro® 5000 Win7 x64 Ultimate CATIA V5 R20 SP2
|
erstellt am: 11. Okt. 2013 13:57 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
Hallo, versuch mal so: Code: Private Declare Sub Sleep Lib "kernel32.dll" ( _ ByVal dwMilliseconds As Long) Sub CATMain()
Dim oExcel As Object Dim WB As Workbook ' Excel starten Set oExcel = CreateObject("Excel.Application") ' Arbeitsmappe Öffnen Set WB = oExcel.Workbooks.Open("L:\Modelle_CV5\Konstruktionstabelle\DESIGNTABLE_All.xls") Sleep 1000 oExcel.Application.Visible = True oExcel.WindowState = xlMaximized End Sub
@Thomas Harmening: Du hattest völlig recht, danke für die Korrekur! ---------------- EDIT: Was für ein Betriebssystem nutzt Du? [Diese Nachricht wurde von imation1999 am 11. Okt. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rubio18 Mitglied Ingenieur
Beiträge: 19 Registriert: 10.10.2013 Catia V5 R19SP09 Excel 2010
|
erstellt am: 11. Okt. 2013 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
|
Rubio18 Mitglied Ingenieur
Beiträge: 19 Registriert: 10.10.2013 Catia V5 R19SP09 Excel 2010
|
erstellt am: 11. Okt. 2013 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
|
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 11. Okt. 2013 17:25 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
Zitat: Original erstellt von Rubio18: Hi, erstmal vielen Dank für die Hilfe!!! Es funktioniert fast so wie ich es mir vorstelle. Hab noch ein Problem, das ich mir selbst nicht erklären kann. Ich hab den folgenden Code: Code: Sub CATMain()Dim oExcel As Object Dim WB As Workbook ' Excel starten Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True ' Arbeitsmappe Öffnen Set WB = Excel.Workbooks.Open _ ("L:\Modelle_CV5\Konstruktionstabelle\DESIGNTABLE_All.xls") Excel.Application.Visible = True oExcel.WindowState = xlMaximized End Sub
Wenn ich Catia starte und das Makro zum ERSTEN mal aufrufe, dann blinkt wie gehabt nur das Excel-Symbol in der Windowsleiste. Wenn ich allerdings den Code wieder aufrufe (Excel-Datei ist wieder geschlossen) dann ploppt das Excel-Fenster auf (So wie ich es gerne hätte). Ich schätze ich muss noch irgendetwas irgendwo aktivieren/deklarieren damit dieses Problem auch weg ist.
Würde mich freuen, wenn Ihr mir helfen könnten dieses Problem zu lösen. Grüße Ruben
betrachte deinen Code - oExcel oder Excel kann sein dass das am Verhalten selber nix ändert, aber wenn was nicht so funktioniert wie es funktionieren sollte, sollte erstmal der Code in sich sauber sein ;) BTW WIN7, Caia R19 und XL 2010 versuche mal untenstehenden code
Code: Sub CATMain()Dim oExcel As Object Dim WB As Workbook Set oExcel = CreateObject("Excel.Application") ' Excel starten Set WB = oExcel.Workbooks.Open ("L:\Modelle_CV5\Konstruktionstabelle\DESIGNTABLE_All.xls") ' Arbeitsmappe Öffnen oExcel.Application.Visible = True 'oExcel.WindowState = xlMaximized 'Vollbild End Sub
[Diese Nachricht wurde von Thomas Harmening am 11. Okt. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rubio18 Mitglied Ingenieur
Beiträge: 19 Registriert: 10.10.2013 Catia V5 R19SP09 Excel 2010
|
erstellt am: 14. Okt. 2013 08:36 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
Hi Thomas, danke für deine Antwort. Hab den Code mal eindeutiger geschrieben und auch deine Version probiert. Funktioniert alles wie vorher. Also immer noch der selbe Fehler. Was ich nicht verstehe, warum funktioniert das Makro beim Ersten Öffnungsvorgang nicht, dafür aber beim zweiten.??? Es ist doch der selbe Code... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beverly Mitglied Dipl.-Geologe (Rentner)
Beiträge: 394 Registriert: 11.08.2007
|
erstellt am: 19. Okt. 2013 12:20 <-- editieren / zitieren --> Unities abgeben: Nur für wulfgang
|