Entwickler-Ecke

Sonstiges (Delphi) - Excel schließen und speichern(!) ...... savechanges geht ni


ImpCaligula - Do 10.05.07 17:31
Titel: Excel schließen und speichern(!) ...... savechanges geht ni
Salü....

ich habe folgenden Code:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
procedure TForm1.cmd1Click(Sender: TObject);
begin


  if f_Excel(Excel)then   // Excel startet
    ShowMessage('MSExcel ist erfolgreich gestartet worden!!')
   else
     ShowMessage('MSExcel konnte nicht gestartet werden!!');

  Excel.Visible := TRUE;  // TRUE = Excel sichtbar.

  Excel.Application.Workbooks.Open(filename:='c:\test.xls');  // Neue Arbeitsmappe öffnen in EXECL
  //Excel.Application.Workbooks.Add;

  Excel.Worksheets ['Tabelle1'].Activate;


  zahl:= '0000123789';
  Excel.cells[2,2].select;             // Zelle wählen
  Excel.Selection.numberFormat:= '@';  // benutzerdefiniertes Zahlenformat zuweisen
  Excel.Cells[2,2]:= zahl;             // String in die Zelle schreiben.


  Excel.Workbooks.Close; // Mappe wieder schliessen.
  Excel.Quit;           // Excel schließen
end;



Das funktioniert ja auch ganz gut. Aber ich will Excel so benden, dass Änderungen automatisch
gespeichert werden. Und dann eventuell auch noch unter einem bestimmten Filenamen. Doch beides
funktioniert nicht so, wie ich das gerne will.


Delphi-Quelltext
1:
Excel.Workbooks.Close (savechanges:=true);                    


noch...


Delphi-Quelltext
1:
Excel.Workbooks.Close (savechanges:=true, filename:='c:\test.xls');                    



Wie binde ich die "savechanges" bzw. "filename" ein? Weiß das jemand?


Keldorn - Do 10.05.07 18:22

Hallo


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
Var workbook:olevariant;
...
workbook:=Excel.Application.Workbooks.Open(filename:='c:\test.xls'); 
...
blabla dein code
...
workbook.close(savechanges:=true);


oder nur


Delphi-Quelltext
1:
excel.activeworkbook.close(savechanges:=true);                    


wobei ich erstere Variante bevorzugen würde, da du dort wirklich dein WB schließt, was du auch geöffnet hast.

Mfg frank


ImpCaligula - Do 10.05.07 19:24

Super! Damit hast Du mir sehr geholfen! Danke.