Конференция "Corba" » как определить координаты ячейки с найденным текстом [Delphi, Windows]
 
  • timonissimo © (29.05.07 09:41) [0]
    Смысл следюущий: из Делфи нужно отыскать текст в открытой книге 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 использовать?

    Подскажите, плз!!!
  • timonissimo © (30.05.07 11:07) [1]
    Может надо использовать свойства .Column и .row?
    Не могу, к сожалению, проверить сейчас...
  • timonissimo © (30.05.07 11:12) [2]
    Вот, еще есть свойство .address
    Оно?
  • umbra © (30.05.07 11:21) [3]
    оно
  • timonissimo © (30.05.07 11:30) [4]
    а как теперь перейти к ячейке, находящейся справа от найденной?
  • umbra © (30.05.07 11:42) [5]
    что значит "перейти"? активировать -
    sheet.cells(findt.Row, findt.Column - 1).Activate



    но для каких-либо действий это не всегда обязательно.
  • umbra © (30.05.07 12:02) [6]
    cells[findt.Row, findt.Column - 1]

  • timonissimo © (30.05.07 14:27) [7]
    Спасибо!
    Ну да, "перейти", например, для того чтобы считать значение этой ячейки.
  • umbra © (30.05.07 16:01) [8]
    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]
    Удалено модератором
 
Конференция "Corba" » как определить координаты ячейки с найденным текстом [Delphi, Windows]
Есть новые Нет новых   [134430   +3][b:0][p:0.002]