Hallo,
ich erstelle mit der folgenden Funktion einen Excel Prozess:
AutoIt
Func ExcelFileOpen()
;Excel Objekt erstellen
$oExcel = _Excel_Open(Default, Default, Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel Open", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oWorkbook = _Excel_BookOpen($oExcel, $XLS_Datei_Name)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel Book Open", "Error opening '" & $XLS_Datei_Name & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
EndFunc
Wenn die Excel Arbeitsmappe mit der folgenden Funktion geschlossen wird ist alles OK:
Code
Func ExcelSaveAndQuit()
_Excel_BookSave($oWorkbook)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel Book Save", "Error saving workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel Close", "Error closing the Excel application." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
EndFunc
Jetzt kommt es aber im Programmverlauf auch vor, dass die Excel Arbeitsmappe zwar über das Programm geöffnet wird, aber dann vom Anwender per Hand geschlossen wird. In einem solchen Fall bleibt dann jedes mal ein toter Excel Prozess im System. Erst wenn auch das AutoIT Programm am Abend geschlossen wird werden die ganzen toten Excel Prozesse beendet.
Hat jemand eine Idee wie ich das lösen könnte?
Gruß Ingo