| 

.NET C# Java Javascript Exception

2
Ich muss Daten nach Excel exportieren, dies funktioniert über die Automatisierungs-Schnittstelle von Excel auch wie gewünscht.

Leider wrid nach dem Export die Instanz von Excel nicht beendet sondern gammelt weiterhin im Taskmanager rum.

Ich hab das Problem mal auf ein Minimum reduziert. Wenn im Code weiter unten die auskommentierte Zeile aktiv ist, bleibt EXCEL.EXE im Taskmanager aktiv.

procedure TestExcel;
var
oExcel, oWorkBooks, oWorkBook: OleVariant;
begin
oExcel := CreateOleObject('Excel.Application');

oExcel.Visible := False;
oExcel.UserControl := False;

oWorkBooks := oExcel.WorkBooks;

// oWorkBook := oWorkBooks.Add; // !!! Excel wird nicht beendet!

oExcel.Quit;
end;


Das setzen des angelegten WorkBooks auf 'Unassigned' und/oder das schließen mit 'oWorkBooks.Close' waren nicht erfolgreich.

oWorkBook := oWorkBooks.Add;
oWorkBook.Close;
oWorkBook := Unassigned;
oWorkBooks.Close;
oWorkBooks := Unassigned;


Hatte schonmal jemand das Problem und kann mir da weiterhelfen?
07.03.2012
haide 41 2
1 Antwort
0
Ich bin mir nicht ganz sicher, ich bilde mir aber ein, ich hatte Probleme mit nicht gespeicherten Dokumenten.
Probiere mal vor dem Beenden so was wie
ActiveWorkbook.Saved = True

(Schuss ins Blaue)
08.03.2012
Jaksa 4,0k 1 8
Hi Jaksa,

Danke für deine Antwort.
Ich hab damit mal rumprobiert, bin aber nicht weiter gekommen.
Sobald ich "WorkBooks.Add" aufrufe bleibt Excel im Taskmanager aktiv.

Gruß, haide
haide 08.03.2012

Stelle deine Delphi-Frage jetzt!