- Код: Выделить всё
procedure TForm1.Button2Click(Sender: TObject);
var
EA : variant;
WBk: variant;
WS : variant;
c : variant;
begin
EA := CreateOleObject('Excel.Application');
ea.Visible := true;
wbk := ea.Workbooks.open( 'c:\test.xls',
emptyparam,emptyparam,emptyparam,
emptyparam,emptyparam,emptyparam,emptyparam,
emptyparam,emptyparam,emptyparam,emptyparam,
emptyparam);
WS := WBk.ActiveSheet;
WS.Activate;
try
Application.MessageBox(pchar(VarToStr(ws.cells.item[1,1].text)),'',0);
except
on E:exception do Application.MessageBox(pchar(AnsiToUtf8(e.Message)),'',0);
end;
ws := Unassigned;
ws := null;
wbk := Unassigned;
wbk := null;
ea.quit;
ea := Unassigned;
ea := null;
end;
В Дельфи работает.
В Лазарусе:
При ws.cells.item[1,1].text возникает исключение "Недопустимое число параметров".
Если поменять на ws.cells(1,1) - "Член группы не найден"
При этом присваивание ws.cells(1,1) := 'xxx'; - работает.
Короче, как прочитать данные из ячейки?