Hallo,
so nach weiterem Rumprobieren funktioniert das Programm so, wie ich es möchte.
Vielen Dank shmia, marabu und Chemiker für die Tipps und Anregungen.
Hier möchte ich das Ergebnis noch einmal zusammen fassen:
Dazu ist erforderlich, dass der Excel-File Book1.xls mit dem Sheet1 und der mit 'Test' benannten Zelle existiert.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var tmp :OleVariant;
begin
ExAP1.Workbooks.Open('C:\Book1.xls', EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,0);
ExWB1.ConnectTo(ExAP1.ActiveWorkbook);
ExWS1.ConnectTo(ExWB1.Sheets.item['Sheet1'] as _Worksheet);
tmp:=ExWS1.Range['Test',emptyParam].Value2;
Label1.Caption:=tmp;
ExAP1.Quit;
end;
der Clou sind die Zeilen:
Delphi-Quellcode:
tmp:=ExWS1.Range['Test',emptyParam].Value2;
Label1.Caption:=tmp;
mit dem EmptyParam und Value2.
Zur Übergabe des Zellinhaltes muss die tmp-Variable vom Typ OleVariant engesetzt werden.
Um Excel sauber zu verlassen ist am Ende noch die Methode Application.Quit zu verwenden.
Gruß, Linkat