| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Excel Problem (1349 mal gelesen)
|
mranderson Mitglied Entwicklungsingenieur Robotik
Beiträge: 70 Registriert: 25.04.2006 IV: Autodesk Inventor 9 VB: Visual Basic 6.0 OS: Microsoft Windows 2000 Professional SP 4 CPU: Intel Xeon 1,7 GHz Arbeitsspeicher: 1 GB
|
erstellt am: 09. Jun. 2006 10:16 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen allerseits! Nun habe ich leider auch ein Problem mit Excel. Wie ich eine xls-Datei öffne weiß ich, allerdings muss ich während einer Prozedur zwei mal auf unterschiedliche xls-Dateíen zugreifen. Dabei kommt folgende Fehlermeldung, die als Bild im Anhang zu sehen ist. Ich habe schon über so manches Excel-Problem gelesen, aber noch keine richtige Lösung für das Problem gefunden. Mein Code sieht folgendermaßen aus: Code:
Private oExl As New Excel.Application On Error Resume Next Set oExl = GetObject(, "Excel.Application") If Err.Number Then Err.Clear On Error Resume Next Set oExl = CreateObject("Excel.Application") If Err.Number Then Err.Clear MsgBox "Kann Excel nicht öffnen." End If End If oExl.Workbooks.Open "x:\xxx.xls" ActiveWorkbook.Sheets("Tabelle1").Select ActiveSheet.Cells(2, 2).Value = breite_anliegend(z) ActiveWorkbook.Close SaveChanges:=True oExl.Quit Set oExl = Nothing
Ist das überhaupt ein Fehler im Inventor? Weil beim Verändern der iPart-Tabellen gibt es keine Probleme. Hier allerdings geht es um eine eigenständige Excel-Datei für gesteuerte Baugruppen. Die Fehlermeldung kann man einfach wegklicken und dann geht es normal weiter. Allerdings wird dann in die zweite Excel-Datei das gleiche reingeschrieben wie in die erste oder es wird gar nicht erst die zweite geändert, sondern immer noch die erste, sodass die zweite gesteuerte Baugruppe genauso aussieht wie die erste. Kann mir jemand sagen, was ich falsch mache bzw. wie man die Fehlermeldung eventuell umgehen könnte. Hilft da vielleicht ein Update? SP4 ist insatlliert. Bin für alle Tipps dankbar!!! Grüße MrAnderson alias René
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 Veni, Vidi, VW ... I came, I saw, I drove around in a little car.
|
erstellt am: 09. Jun. 2006 10:32 <-- editieren / zitieren --> Unities abgeben: Nur für mranderson
Moin Rene, mal fix auf die Schnelle eine Sache die mir auffiel: oExl.Workbooks.Open "x:\xxx.xls" '!!! oExl.ActiveWorkbook.Sheets("Tabelle1").Select '!!! oExl.ActiveSheet.Cells(2, 2).Value = breite_anliegend(z) '!!! oExl.ActiveWorkbook.Close SaveChanges:=True oder:
Code:
with oExl.activeworkbook .Sheets("Tabelle1").cells(2,2)= breite_anliegend(z) .close 1 end with
Gruss NancyEine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mranderson Mitglied Entwicklungsingenieur Robotik
Beiträge: 70 Registriert: 25.04.2006 IV: Autodesk Inventor 9 VB: Visual Basic 6.0 OS: Microsoft Windows 2000 Professional SP 4 CPU: Intel Xeon 1,7 GHz Arbeitsspeicher: 1 GB
|
erstellt am: 09. Jun. 2006 10:38 <-- editieren / zitieren --> Unities abgeben:
|
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 Veni, Vidi, VW ... I came, I saw, I drove around in a little car.
|
erstellt am: 09. Jun. 2006 10:47 <-- editieren / zitieren --> Unities abgeben: Nur für mranderson
Dann lass mal das as new Excel.Application weg, und nimm nur: Code:
Dim oExl as Object
Achja und schalt zum testen auch mal das On Error resume next aus;-) [edit] bzw. mach nach dem Get/CreateObject-Test ein: On error goto 0[/edit]Gruss Nancy
[Diese Nachricht wurde von startrek am 09. Jun. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mranderson Mitglied Entwicklungsingenieur Robotik
Beiträge: 70 Registriert: 25.04.2006 IV: Autodesk Inventor 9 VB: Visual Basic 6.0 OS: Microsoft Windows 2000 Professional SP 4 CPU: Intel Xeon 1,7 GHz Arbeitsspeicher: 1 GB
|
erstellt am: 09. Jun. 2006 11:12 <-- editieren / zitieren --> Unities abgeben:
Hi, danke für die schnelle Antwort. Also ... Ich habe die Änderungen vorgenommen, das Problem ist aber leider geblieben. Er hat aber auch keine Fehlermeldung angzeigt, außer die, die ich bereits gepostet habe. Das ist aber eine, die scheinbar unabhängig von meinem VB Programm ist, da es nach dem Wegklicken ganz normal weitergeht. Ich hoffe es fällt dir oder jemandem anders etwas dazu ein!!! Grüße MrAnderson alias René Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 Veni, Vidi, VW ... I came, I saw, I drove around in a little car.
|
erstellt am: 09. Jun. 2006 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für mranderson
|
mranderson Mitglied Entwicklungsingenieur Robotik
Beiträge: 70 Registriert: 25.04.2006 IV: Autodesk Inventor 9 VB: Visual Basic 6.0 OS: Microsoft Windows 2000 Professional SP 4 CPU: Intel Xeon 1,7 GHz Arbeitsspeicher: 1 GB
|
erstellt am: 09. Jun. 2006 11:49 <-- editieren / zitieren --> Unities abgeben:
Ja, das mit den nicht beendeten Excel-Instanzen stimmt. Der Ablauf ist folgender: Ich ändere diverse iPart-Tabellen, wobei Excel als Prozess stehen bleibt. Dann wird eine gesteuerte Baugruppe eingefügt, die zuvor über die eigenständige Excel-Tabelle im Order geändert wird. Nur bei diesen gesteuerten Baugruppen kommt der Fehler. Wenn man BEIDE Meldungen wegklickt verschwinden auch beide Excel-Instanzen und es geht wie gewohnt weiter, sogar mit richitger Anpassung der Baugruppen. Bei den iParts hingegen wird einfach eine zweite excel.exe aufgerufen ohne eine Fehlermeldung und danach wieder geschlossen. Die erste Instanz bleibt aber immmer vorhanden (, bis zur gesteuerten Baugruppe). Danke für jegliche Hilfe!!! Guten Mittag. MrAnderson alias René Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mranderson Mitglied Entwicklungsingenieur Robotik
Beiträge: 70 Registriert: 25.04.2006 IV: Autodesk Inventor 9 VB: Visual Basic 6.0 OS: Microsoft Windows 2000 Professional SP 4 CPU: Intel Xeon 1,7 GHz Arbeitsspeicher: 1 GB
|
erstellt am: 21. Jun. 2006 14:49 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits! Also ich muss nochmal nachfragen. Das Problem mit Excel besteht weiterhin. Das interessante ist halt, dass eigentlich alles funktioniert wie es funktionieren soll. Ich kann auch mehrere iParts und gesteuerte Baugruppen einfügen, sogar mit korrekter Größe. Allerdings kommen bei den gesteuerten Baugruppen immer zwei gleiche Fehlermeldungen, die jedoch, außer dass man sie wegklicken muss, keinerlei Einfluss haben. Trotzdem ist das für den Programmablauf hinderlich, da das nächste iPart nicht erzeugt werden kann, solange die Meldungen geöffnet bleiben. D.h. man muss auf jeden Fall während das Programm ausgeführt wird anwesend sein, um die Fehlermeldungen wegzuklicken, damit das Programm gewohnt weiter arbeiten kann. Also wenn jemand einen Vorschlag hat, bitte unbedingt posten!!! Danke soweit und eine saumäßig geile WM2006 noch!!! Grüße MrAnderson alias René Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück. -------------- SWX 2005/2006 SE 14-17 AIP 9-11 WinXP+ SP2 --------------
|
erstellt am: 22. Jun. 2006 08:45 <-- editieren / zitieren --> Unities abgeben: Nur für mranderson
Hi wenn du nur das Workbook brauchst dann kannst du dir das auch mit Set wb = GetObject("X:\XXX.XLS") Ansonten versuche nach dem open über die Applikation das Workbook explizit zu aktivieren (vor einem Zugriff aufs sheet) Gruß Micha
------------------ http://classicvb.org/petition/ Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mranderson Mitglied Entwicklungsingenieur Robotik
Beiträge: 70 Registriert: 25.04.2006 IV: Autodesk Inventor 9 VB: Visual Basic 6.0 OS: Microsoft Windows 2000 Professional SP 4 CPU: Intel Xeon 1,7 GHz Arbeitsspeicher: 1 GB
|
erstellt am: 19. Jul. 2006 09:35 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen allerseits, nach langem Tüfteln habe ich das Problem gefunden, bzw. konnte ich das Symptom verhindern. Der Fehler entsteht ausschließlich bei den gesteuerten Baugruppen und bei neu angelegten Excel-Tabellen, nicht jedoch bei iPart-Tabellen. Die Ursache der Fehlermeldung liegt in dem Code:
Set oExl = NOTHING
Das oExl.Quit hat nach meiner Erfahrnung nach gar keine Auswirkungen, der Excel-Prozesse bleibt trotzdem bestehen, es erzeugt aber auch keine Fehlermeldung. Also lass ich einfach das = NOTHING setzen raus und alles läuft bestens, auch wenn mir der wahre Grund nicht ganz klar ist, weil überall lese ich man sollte das = NOTHING erstrecht bei Problemen setzen. Aber gut ... Also einen schönen Dank für eure Ideen. Ciao MrAnderson alias René Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |