Thema: Excel Sheets

Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#18

AW: Excel Sheets

  Alt 5. Okt 2016, 10:24
Hallo p80286,

da hast du wohl recht, werde es dann einfach in die Grundeinstellung des jeweiligen Programms auslagern, das hat den Charme dass der Anwender das Format selbst wählen kann und somit u.U. auch für ältere Excel Versionen auf ggf. vorhandenen Zweit-Rechnern kompatibel sein kann.

Gruß
Sidi61
Da wirst du aber trotzdem nicht drum rum kommen, in deiner Speicher-Routine die Excel-Version zu prüfen. Denn wenn du ein neues Excel hast, der Benutzer aber im alten xls-Format speichern will, um die Datei auch auf seinem alten Rechner öffnen zu können brauchst du beim "Save As"-Befehl andere Parameter.

Delphi-Quellcode:
function ExcelVersion:integer;
begin
  //ExcelApp.Version liefert sowas wie 14.0
  Result:=Trunc(StrToFloat(ExcelApp.Version))
end;

//irgendwo in der Speichern-Routine:
//ab Version 12.0 gibts meine ich xlsx
If ExcelVersion>=12 then //Excel-Version ist neu
  begin
  If GewünschteDateiEndung='xlsxthen
    ExcelApp.SaveAs(GewünschterDateiname)
  Else //Endung='xls' gewünscht
    //56=Altes Excel-Format benutzen in neueren Excels
    ExcelApp.SaveAs(GewünschterDateiname,56)
  end
Else //Excel-Version ist alt
  begin
  If GewünschteDateiEndung='xlsxthen
    showmessage('Altes Excel kann neues Format nicht speichern')
  Else //Endung='xls' gewünscht
    ExcelApp.SaveAs(GewünschterDateiname)
  end;
Die Magic-Numbers sollte man natürlich durch ordentlich benamste Konstanten ersetzen.
Ralph
  Mit Zitat antworten Zitat