-
Смысл следюущий: из Делфи нужно отыскать текст в открытой книге excel и определить координаты ячейки. Нашел только метод find, вроде как должен был сработать, но что-то не получилось:
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
e: TExcelApplication;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
Findt, sheet:variant;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
e.Workbooks.Open(getcurrentdir+'\1.xls',emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,empty param,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptypar am,0);
sheet:=e.workbooks[1].worksheets['лист1'];
Findt:=sheet.cells.find(what:='5');
edit2.Text:=findt.text;
end;
Возвращает в edit2.Text значение '5', а мне нужны координаты ячейки. Может быть надо не свойство .text использовать?
Подскажите, плз!!! -
Может надо использовать свойства .Column и .row?
Не могу, к сожалению, проверить сейчас... -
Вот, еще есть свойство .address
Оно? -
оно
-
а как теперь перейти к ячейке, находящейся справа от найденной?
-
что значит "перейти"? активировать -sheet.cells(findt.Row, findt.Column - 1).Activate
но для каких-либо действий это не всегда обязательно. -
cells[findt.Row, findt.Column - 1]
-
Спасибо!
Ну да, "перейти", например, для того чтобы считать значение этой ячейки. -
sheet.cells(findt.Row, findt.Column - 1).Value
при раннем связывании (как у Вас)(sheet.cells(findt.Row, findt.Column - 1) as _Range).Value -
имя(29.12.07 01:05) [9]Удалено модератором -
имя(10.01.08 17:10) [10]Удалено модератором -
имя(10.01.08 17:13) [11]Удалено модератором -
имя(11.01.08 00:13) [12]Удалено модератором -
имя(11.01.08 08:44) [13]Удалено модератором -
имя(21.01.08 11:39) [14]Удалено модератором -
имя(24.01.08 17:36) [15]Удалено модератором -
имя(09.04.08 08:00) [16]Удалено модератором