Forum: Programmieren allgemein
by Jumpy,
5. Okt 2016
Ja klar (heißt xlExcel8 aus der XlFileFormat-Enumeration), aber wenn du von Delphi aus mit Late-Binding arbeitest, wie im bisher hier gezeigten Code, stehen diese Konstanten ja nicht zur Verfügung. Wenn man verschiedene Generationen von Excel berücksichtigen will, ist das ja auch der sichere Weg, denn ein altes Excel würde den betreffenden Konstantennamen ja u.U. gar nicht kennen.
Forum: Programmieren allgemein
by Jumpy,
5. Okt 2016
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.
function ExcelVersion:integer;
begin
//ExcelApp.Version liefert sowas wie 14.0
...
Forum: Programmieren allgemein
by Jumpy,
4. Okt 2016
Hallo,
die Excel-Version bekommst du über:
Application.Version bzw. bei dir: ExcelApp.Version
Das ist ein String, den du dann mal analysieren musst.
Zur generellen Vorgehensweise: Ich würde einfach eine Stringlist, oder TStrings mit den Namen übergeben, dann weißt du zum einen die Anzahl der gewünschten Namen über den Listcount und kannst es dir auch sparen, deinen Namens-String mühsam zu...
Forum: Programmieren allgemein
by Jumpy,
30. Sep 2016
Oder nutze eine weitere Variable, diesmal für das worksheet:
WSObj:=WBObj.Worksheets.add;
WSObj.Name:='Neu';