![]() |
AW: Excel Sheets
Hallo Jumpy,
okay, dann sieht die Sache natürlich anders aus, habe nicht gewusst dass sich dadurch SaveAs bezüglich der Parameter ändert. Ab Excel 7, in der Versionsangabe also 12.0 ändert sich das Dateiformat. Hallo Chemiker, ich habe deine Abfragen dann wohl falsch aufgenommen, habe deinen Code so interpretiert dass du jedes mal abfragst ob die Variable auch ein Objekt enthält mit dem gearbeite werden kann. Verstehe allerdings auch jetzt noch nicht wo genau geprüft wird ob es noch offene Instanzen gibt die geschlossen werden müssen. Bin einfach mal naiv davon ausgegangen, wenn ich weiß was ich geöffnet habe, weiß ich auch was ich schließen muss :oops: Gruß Sidi61 |
AW: Excel Sheets
Hallo Jumpy,
nochmals Danke für deinen Tip, habe ich wie folgt umgesetzt:
Delphi-Quellcode:
Funktioniert prächtig :thumb:
unction TFormExcel.Excel_Arbeitsmappe_speichern(Z: string):boolean;
Var OK : boolean; begin OK := true; if ExcelVersion >= 12 then //ab 12 Format xlsx begin try if uppercase(DS) = 'XLSX' then ExcelApp.ActiveWorkbook.saveas(Z+'.'+DS); //56 = altes Excel-Format benutzen if uppercase(DS) = 'XLS' then ExcelApp.ActiveWorkbook.saveas(Z+'.'+DS,56); except showmessage('speichern von '+Z+'.'+DS+' ist fehlgeschlagen'); ok := false; end; end else begin if uppercase(DS) = 'XLSX' then begin Showmessage('Das Dateiformat .xlsx wird von Ihrer Version nicht unterstützt, die Speicherung erfolgt im .xls Format'); DS := 'xls'; end; try ExcelApp.ActiveWorkbook.saveas(Z+'.'+DS); except showmessage('speichern von '+Z+'.'+DS+' ist fehlgeschlagen'); ok := false; end; end; Result := OK; end; Woher stammt die 56, konnte nirgends eine Doku dazu finden:?: Gruß Sidi61 |
AW: Excel Sheets
Dan schau mal hier herein:
![]() ![]() Gruß K-H |
AW: Excel Sheets
Hallo Sidi61,
man kann bei einem aktiven Workbook auch das entsprechende Fileformat herauslesen, das bedeutet, wenn man zum Beispiel ein altes Workbook (XLS-Format) in ein neues Excel öffnet, so kann man das Fileformt lesen und anschließend unter diesem alten Format wieder abspeichern.
Delphi-Quellcode:
aFileFormat := ExcelApp.ActiveWorkbook.Fileformat;
ExcelApp.ActiveWorkbook.SaveAs(Filename:=DateiName, FileFormat:=aFileFormat); Bis bald Chemiker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz