| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation: Unterstützung für 3D CAD Kollaboration mit Lieferanten, eine Pressemitteilung
|
Autor
|
Thema: Mit VBA-Makro in CATIA auf Excel zugreifen (5288 mal gelesen)
|
Leonidas12 Mitglied
 Beiträge: 4 Registriert: 21.12.2012 CATIA V5 R19 & Win7
|
erstellt am: 21. Dez. 2012 10:39 <-- editieren / zitieren --> Unities abgeben:         
Hallo Community, ich hätte da mal eine kurze Frage, die ich nach längerer Recherche für mich nicht lösen konnte. Mein Makro (VBA) öffnet während es läuft eine Exceldatei. Nun will ich im weiteren Verlauf meines Makros weiter mit dieser Exceldatei und einem bestimmten Tabellenblatt (Bsp. Blatt1) weiterarbeiten. Hier mal der betreffende Code-Schnippsel: ... Dim oExcel As Object Dim oWorkbook As Object Set oExcel = CreateObject("Excel.Application") oExcel.Visible = True Set oWorkbook = oExcel.Workbooks.Open("C:\...\Bsp.xlsm", , True) Dim lngEintrag As Object Set lngEintrag = oWorkbook.Worksheets("Blatt.1").Range("A65536").End(xlUp).Row ... Bei der letzten Zeile motzt er immer das die Variable nicht gesetzt ist. Ich habe jetzt schon einiges durchforstet und bin nicht schlauer geworden, dabei ist es ja nur ein "blöder" Pfad zur geöffneten Exceldatei, oder laufe ich gerade ins nirgendwo?! Vorab vielen Dank :-) Leon Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leonidas12 Mitglied
 Beiträge: 4 Registriert: 21.12.2012 CATIA V5 R19 & Win7
|
erstellt am: 28. Dez. 2012 12:30 <-- editieren / zitieren --> Unities abgeben:         
|
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Dez. 2012 13:10 <-- editieren / zitieren --> Unities abgeben:          Nur für Leonidas12
Servus Was "sagt" das Watchfenster zu dem Objekt? Gibt es die Tabelle? Was willst du mit der Code-Zeile? Woher hast du den Code? Schon mal in einem Excel-VBA-Forum geschaut? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 28. Dez. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leonidas12 Mitglied
 Beiträge: 4 Registriert: 21.12.2012 CATIA V5 R19 & Win7
|
erstellt am: 28. Dez. 2012 13:29 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd, danke für deine Antwort! 1. Das Watchfenster sagt für "oWorkbook.Worksheets("Blatt.1").Range("A65536").End(xlUp).Row", dass für den Wert/value ein <Automation Error> vorliegt. Bei lngEintrag halt nur das kein Value vorhanden ist. 2. Die Tabelle und das Tabellenblatt sind vorhanden. 3. siehe 4. 4. Den Ursprungscode habe ich in Excel-VBA geschrieben. Da funktioniert es auch einwandfrei. Das Hauptproblem IMO liegt darin, dass ich für den weiteren Code in CATIA immer wieder auf das Sheet("Blatt.1") zugreife bzw. Werte aus diesem abfrage. Im Prinzip fehlt mir ja nur der korrekte Pfad zu diesem Sheet und den zugehörigen Bereichen(range). Zur Not kann ich die "End(xlUp)"-GEschichten auch raus lassen und die Rangebereiche fix definieren...wenn das die Sache einfacher macht?! VG Leon
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Dez. 2012 13:51 <-- editieren / zitieren --> Unities abgeben:          Nur für Leonidas12
Servus Setze mal den Code schrittweise zusammen. Also zunächst nur das Worksheet aufrufen (Watchfenster), und dann auf die Range ausweiten. ggf mal auch folgendes Probieren: - lngEntrag als Long deklarieren - das Set vor lngEntrag weg lassen Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leonidas12 Mitglied
 Beiträge: 4 Registriert: 21.12.2012 CATIA V5 R19 & Win7
|
erstellt am: 28. Dez. 2012 14:58 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd, ich habe es hinbekommen! Ich habe Range ganz konservativ über die Zellenbereiche deklariert, wie z. B. ("A1:A200") und die xlUp/xlDown-Geschichte weggelassen. Anschließend habe ich mithilfe eines anderen Beitrags von dir (http://ww3.cad.de/foren/ubb/Forum137/HTML/004464.shtml) die Selectmethode angewendet und jetzt macht er genau das was er soll! Danke & VG Leon
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |