Seltsamer Fehler bei Excel Import

7. Mai 2009 13:00

Hallo zusammen,

ich habe mir einen Report gebaut, um aus Excel Kreditoren zu importieren.
Der Import hat auch eine Möglichkeit, bereits importierte Kreditoren auszulassen.
Das ganze läuft über Excel Automation.
Der Import selbst funktioniert, doch am Ende kommt immer folgende Meldung:
"ReportxY kann nicht beendet werden, da das System zurzeit arbeitet"

Ich habe bis auf einen Eintrag in diesem Forum von Michael Schumacher,
wo diese Meldung vorkommt, nichts darüber gefunden. Und in dem erwähnten Beitrag
denke ich, gehts um was anderes.

Hat jemand auch schon mal diese Meldung bekommen?

Re: Seltsamer Fehler bei Excel Import

21. Januar 2010 11:49

Hallo,

ich habe die Meldung auch immer wieder bei Import und Export von Daten aus oder nach Excel.
Das ganze Tritt aber erst auf, seit wir auf Office 2007 umgestellt haben.
Irgendwie scheint Excel noch zu "arbeiten", obwohl der Report oder die Codeunit bereits fertig ist.

Ich schließe in meinen Programmen Excel und die offenen Dateien immer, bevor das Programm endet.
Code:
xlApp - Automation - 'Microsoft Excel 12.0 Object Library'.Application

xlApp.ActiveWorkbook.Save;
xlApp.ActiveWindow.Close;
xlApp.Quit;

Aber trotzdem kommt die Meldung.

Re: Seltsamer Fehler bei Excel Import

25. Januar 2010 09:06

Hallo,

genauso mach ich das auch.
ist wohl wieder eine Sache, die man nicht verstehen muss

Re: Seltsamer Fehler bei Excel Import

26. Januar 2010 11:25

Ich bin mir nicht sicher ob dieser Fehler nun genau daran liegt, aber ich mache nach dem Quit immer noch ein:

Code:
CLEAR(xlApp);


mfg,
winfy

Re: Seltsamer Fehler bei Excel Import

26. Januar 2010 14:25

Hallo,

das mit dem CLEAR hab ich mittlerweile auch eingebaut, hilft aber nicht zuverläßig. Leider.

ich mache das mittlerweile mit
Code:
CREATE(xlApp,TRUE);
.
.
.
xlApp.QUIT;
CLEAR(xlApp);


Wie gesagt, gefühlsmäßig ist es besser aber leider kommts trotzdem immer mal wieder zu dem Fehler.

Re: Seltsamer Fehler bei Excel Import

27. Januar 2010 11:14

Hallo zusammen,

in meinen Import und Export Codeunits mache ich immer folgendes.

Am Anfang und am Ende !

CLEAR( xlApplication ) ;
CLEAR( xlWorkbook ) ;
CLEAR( xlWorksheet ) ;
CLEAR( xlRange ) ;
CLEAR( xlPageSetup ) ;

Vielleicht hilft das ja weiter.
Auch mal über den Taskmanger überprüfen ob die OLE-Instanz von Excel als Prozess entfernt wird.

Re: Seltsamer Fehler bei Excel Import

1. Februar 2010 09:22

Hallo Ingo,

ich hab das jetzt mal ausprobiert. Die Fehlermeldung bleibt aber, leider.
Die Excel Instanz wird entfernt, aber vermutlich zu spät, so dass der Report nicht zu einem "korrekten" Ende kommt und deshalb den Fehler ausgibt.

Re: Seltsamer Fehler bei Excel Import

1. Februar 2010 10:47

Könnte man den überprüfen ob Excel-App schon geschlossen ist? Ich dachte das in etwa so:

Code:
xlApp.quit;
WHILE xlApp.build > 0 ...


solange ich den Build noch abfragen kann ist Excel-Application noch geladen. Erst wenn hier ein Fehler kommt ist entladen und der Rest sollte funktionieren - oder der Code steigt vorher aus, weil der Fehler nicht richtig behandelt wurde. Ich kann das aber hier gerade nicht testen.

Volker

Re: Seltsamer Fehler bei Excel Import

1. Februar 2010 14:51

Wenn ich das so programmiere, hab ich ne Endlosschleife.
Wenn ich vor der WHILE Schleife ein CLEAR auf xlApp mache, dann bekomme ich durch die Abfrage des Build einen C/AL Fehler.
Zuletzt geändert von rkaufmann am 1. Februar 2010 15:03, insgesamt 1-mal geändert.

Re: Seltsamer Fehler bei Excel Import

1. Februar 2010 14:58

Habe ich ja schon fast befürchtet, aber wie wär es mit
Code:
If ISCLEAR(xlApp) ...


Volker

Re: Seltsamer Fehler bei Excel Import

1. Februar 2010 15:18

Hallo,
ich habe bisher bei Excel-Importfunktionen immer mit der Table 370 (Excel Buffer) gearbeitet.
Die Table 370 wurde allerdings, dass auch "leere" Zellen importiert werden, so dass ich nach der Funktion "ReadSheet" von jedem zu importierenden Datensatz gleich viele Datensätze (= Zellen) in der Table Excel Buffer habe.
Dabei trat nie das von Dir geschilderte Problem auf.
Falls Interesse daran besteht, kann ich gerne die Änderungen in der Table 370 und ein kurzes Code-Beispiel posten.

Gruß
Jörg

Re: Seltsamer Fehler bei Excel Import

1. Februar 2010 15:18

@Volker
hab jetzt mal am Ende eine Schleife eingebaut
Code:
REPEAT
UNTIL ISCLEAR(xlApp);


Das scheint zu funktionieren.

Gute Idee, Danke.

Re: Seltsamer Fehler bei Excel Import

1. Februar 2010 15:23

@Jörg

Beim Import von Daten hatte ich das Problem bisher nur sehr selten und da ist es auch nicht so problematisch. Ich habe keine automatisierten Jobs, die Daten aus Excel lesen.

Aber beim Export von Daten nach Excel tritt das Problem reproduziert bar auf, vor allem wenn größere Datenmenge nach Excel exportiert werden.
Das ganze ist aber erst aufgetreten, als die betroffenen Rechner auf Office 2007 umgestellt wurden. Offenbar braucht Excel 2007 länger zum beenden.
Mit der REPEAT Schleife scheint es aber zu funktionieren, dass die Codeausführung wartet, bis Excel beendet wurde.