Ich habe leider kein Excel zur Hand, aber es müßte einen Parameter "NoSave" oder so ähnlich geben.
Korrekt heißen die dafür benötigten, als OleVariant-Parameter zu übergebenden Konstanten:
Code:
Const
wdDoNotSaveChanges = 0;
wdSaveChanges = -1;
wdPromptToSaveChanges = -2;
Sehr gut geht es aber auch so (MSExel ist die als 'Excel.Application' eröffnete OleVariant):
Code:
procedure CloseExcel(SaveChanges: Boolean=true);
begin
if VarIsEmpty(MSExcel) = false then
begin
// speichert, wenn SaveChanges = TRUE;
// speichert nicht (ohne Rückfrage), wenn SaveChanges = FALSE
MSExcel.DisplayAlerts:= SaveChanges;
MSExcel.quit;
MSExcel:= Unassigned;
end;