Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
824 Beiträge
 
Delphi 10.4 Sydney
 
#1

Excel mit SendMessage ohne Speicher-Nachfrage beenden

  Alt 1. Aug 2019, 14:10
Hallo Zusammen,

ich mache eine Tabellen-Ausdruck mit Excel und möchte nach dem Ausdruck Excel wieder schließen. Dazu suche ich mir das entsprechende Fenster und gebe dann über SendMessage den Schliesse-Befehl.

Jetzt habe ich aber das Problem, dass Excel fragt, ob die Datei gespeichert werden soll. Kann ich das mit SendMessage umgehen?

Delphi-Quellcode:
procedure TExcelExport.ShowTemp(Pfad: string; Drucken: boolean);
var h: hwnd;
begin
   OpenTemp;
   FExcelApp.Workbooks.open(pfad);
   if Drucken then begin
      FExcelApp.Worksheets.PrintOut;
      h := FindWindowByTitle(copy(pfad, Length(pfad)-25,21)); //Hier wird das entsprechende Fenster gesucht
      if h <> 0 then
         SendMessage(h, WM_SYSCOMMAND, SC_CLOSE, 0) // und hier schließe ich es. Gibt es hier einen Parameter, der die Speicherfrage unterdrückt?
      else
         ShowMessage('not found.');
   end
   else begin
      FExcelApp.Visible := True;
   end;
end;
Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat