Bei früher Bindung muss man alle Parameter übergeben, die die Funktion verlangt.
Das führt dann zu der ganze Latte vom
EmptyParam.
Bei
später Bindung, wie du sie benutzt, kann man die Parameter über Namen zuweisen:
FExcel.WorkBooks.Open(Filename:=FFileName, lcid:=GetUserDefaultLCID);
Das sieht auf den 1. Blick sehr ungewöhnlich aus, ist aber zulässig.
PS: WorkBooks.Open liefert ein Workbook zurück. Das speicherst du am Besten gleich in einer Variablen:
Delphi-Quellcode:
var
myWorkbook : OleVariant;
...
myWorkbook := FExcel.WorkBooks.Open(Filename:=FFileName, lcid:=GetUserDefaultLCID);