Einzelnen Beitrag anzeigen

eragon123

Registriert seit: 6. Mär 2010
53 Beiträge
 
#1

Excel-ole richtig Freigeben

  Alt 6. Mär 2010, 15:44
So ich hoffe das ist hier die richtige Kategorie, sonst könnte das bitte jemand verschieben.
Mein Problem: Ich schreibe ein Programm, das eine Exceldatei öffnen soll, dann einen Wert eintragen, und dann drucken soll. Das funktioniert auch wunderbar. Wenn ich das Ausgeführt habe bleibt allerdings immer ein Excelprozess im Taskmanager erhalten. Hoffe ihr könnt mir helfen woran das liegt; und wie ich es ändern kann. Hier ein Ausschnitt aus meinem Programm.

Code:
procedure TForm1.btndruckenClick(Sender: TObject);
var i: Integer;
begin
  // Excel starten
  try
    Excel := CreateOleObject('Excel.Application');
  except
    ShowMessage('Excel konnte nicht gestartet werden!');
    Exit;
  end;

  // Laden
  //Excel.workbooks.Add('Test');
  Excel.workbooks.open(edtspeicherort.Text);
  Excel.visible := true;

  // und drucken
  for i := 0 to High(daten) do
  begin
    Excel.Cells[1,1].Value := daten[i];
    Excel.worksheets.Printout;
  end;

  //Sleep(1000);
  Excel.Activeworkbook.saved := True;
  Excel.workbooks.close;
  Excel.quit;
  Excel := unassigned;
end;
  Mit Zitat antworten Zitat