Hallo hyype,
Zitat von
hyype:
Ich habe Delphi 2007, Windows Vista und Office 2003.
Das Programm, welches ich schreibe, soll aber unabhängig von der Office-Version funktionieren, wenn das überhaupt geht
Mit der späten Bindung geht das, allerdings können natürlich Neuerungen die z.B. in Excel 2007 vorhanden sind nicht genutzt werden.
Da Du Office 2003 hast würde ich an Deiner Stelle die
Unit ExcelXP mit einbinden, damit hast Du ein Teil der Konstanten die in Excel vorhanden sind zur Verfügung und muss nicht mühselig die Konstanten ermitteln (xlMaximized = -4137)
Hilfe kannst Du aber von Delphi dann nicht erwarten.
Zitat von
hyype:
Mit dem WB meinte ich aber etwas ganz anderes:
Da ich jetzt Excel nicht mehr abscreene und schließe, sondern offen lasse, der User aber evtl mehrere Excel-Files hintereinander öffnet, ich den Stream aber immer als hype.xls speichere, muss ich mir das Workbook merken, damit ich gezielt dieses eine Workbook schließe und nicht andere evtl geöffnete mit Excel.Quit mitschließe...
Warum soll der User in eine Excel – Instanz die vom Programm geöffnet worden ist, weitere Workbooks anlegen? Dann muss Du als Programmier auch dafür sorge tragen das Excel nicht vom User geschlossen wird oder der Dateiname geändert wird und dann unter Speichern unter… gespeichert wird. usw. usw.
Delphi-Quellcode:
WB. saved := FALSE;
WB.Close (saveChanges:=TRUE, FileName:= strPath);
Mit diesen Anweisungen ist es möglich das WorkBook abzuspeichern.
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.