Excel Prozess wird nicht beendet bei Excel97
-
Hallo,
folgender Beispiel-Minimalcode funktioniert z.B. bei Excel2003 oder auch 2007, jedoch nicht bei Excel 97. Hier erstmal der Code
//Excel Init Variant vExcel; vExcel = Unassigned; vExcel = Variant::CreateObject("Excel.Application"); vExcel.OlePropertySet("Visible", false); Variant WorkBooks = vExcel.OlePropertyGet("WorkBooks"); WorkBooks.OleFunction("Add"); Variant ActiveWorkBook = vExcel.OlePropertyGet("ActiveWorkbook"); Variant WorkSheets = vExcel.OlePropertyGet("Worksheets"); Variant WorkSheet = WorkSheets.OlePropertyGet("Item", 1); WorkSheet.OleFunction("Activate"); //als Beispiel eine Zelle in Excel füllen WorkSheet.OlePropertyGet("Cells").OlePropertyGet("Item",2,2).OlePropertySet("Value",StringToOleStr(Form1->StringGrid1->Cells[4][4])); //Excel sichtbar machen vExcel.OlePropertySet("Visible", true); vExcel = Unassigned;
Ich habe bewusst kein Save drinnen, da der Anwender selbst entscheiden kann wo und wie und ob er speichern möchte. Nun zum Problem, der Prozess wird nur dann nicht beendet, wenn folgende Reihenfolge auftritt:
1. Wie der Code schon zeigt wird ein neuer Excel Prozess gestartet
2. Die Exceltabelle erscheint und man klickt ohne zu speichern auf das kleine Kreuz oben rechts (Fenster schließen), so wird nun das komplette Excel geschlossen
3. ->Excel Prozess bleibt bei Excel 97 im Taskmanager stehen!??Muss ich evt. auch alle Workbooks und Worksheets = unassigned setzen?
->das hatte ich bereits versucht, jedoch nach der zeile vExcel = Unassigned;
Könnte es erst morgen versuchen mal davor zu schreibenHat jemand einen Vorschlag woran es liegen könnte??
-
So habe nochmal versucht auch alle Worksheets und Workbooks am Ende auf Unassigned zu setzen. Hat nichts geholfen, das Problem besteht weiterhin bei Excel97.
Keine Ideen?
-
Sorry, das ich es nicht lassen kann aber es ist sehr wichtig für mich.
Ist zu Mindest der Code so i.O.? Alle anderen Beispiele hier im Forum speichern u. schließen immer Excel, es muss doch auch so funktionieren das Excel mit den Daten geöffnet bleibt!!??
Normalerweise dürfte sich Excel doch nicht beenden wenn ich nur das Arbeitsblatt mittels des kleinen X schließe oder?
Wie würded ihr das machen?
Bitte nochmals um Hilfe!!!!!