Hallo,
die Excel-Version bekommst du über:
Code:
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 zerlegen, wie du das jetzt machst.
Dann kannst du auch folgendes dann machen, um auf einen Schlag ein Workbook mit n leeren Sheets zu erzeugen:
Delphi-Quellcode:
AlteSheetZahl:=ExcelApp.SheetsInNewWorkbook
ExcelApp.SheetsInNewWorkbook:=Namensliste.Count
wb:=ExcelApp.Workbooks.Add
ExcelApp.SheetsInNewWorkbook:=AlteSheetZahl
for i:=0 to Namensliste.Count-1 do
wb.Worksheets[i+1].Name:=Namensliste[i]
fertig.