Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Работа с Excel   Найти похожие ветки 

 
V l a d i m i r   (2004-08-09 13:34) [0]

Добрый день! Вопрос, возможно, легкий, но интересный… Дело в том, что в процессе работы приложения, я обращаюсь к файлу Excel. Как загружать данные из ячеек я знаю, однако в настоящий момент встала новая задача: определить в документе Excel (данные хранятся только в первом листе) конец документа. Если быть точным, необходимо получить номер строки, выше которой документ «забит» информацией и ниже которой все ячейки пусты.

Буду благодарен за любую идею, спасибо.


 
V l a d i m i r   (2004-08-09 14:12) [1]

Доступ к ячейкам упрощенно можно показать на следующем примере: размещаем на форме компонент типа TexcelApplication (Name: XLApp, свойство ConnectKind: ckNewInstance).

procedure TForm1.Button1Click(Sender: TObject);
var
 WorkBook, Sheet: Variant;
 FileLocate: WideString;
 Info: String;
Begin
XLApp.Connect;
FileLocate := "C:\1.xls";

//Открываю файл Excel
XLApp.WorkBooks.Open(FileLocate, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,EmptyParam,0);

//Открываю книгу и обращаюсь к первому листу
WorkBook := XLApp.WorkBooks.Item[1];
Sheet:=XLApp.Application.Worksheets.Item[1];

//Читаю вторую строку и вторую ячейку, содержащую любую информацию
Info:=Sheet.Cells[11,2];

ShowMessage(Info);

End;


А как переместить курсор в конец документа и получить строку окончания документа?


 
RDen   (2004-08-09 14:32) [2]

вот что сообщает макрос, который выделяет последнюю ячейку:

Selection.SpecialCells(xlCellTypeLastCell).Select


 
V l a d i m i r   (2004-08-09 14:51) [3]

> RDen


> вот что сообщает макрос, который выделяет последнюю ячейку:


А как его использовать? Я открыл файл excel, книгу, обратился к первому листу и т.д. А как использовать этот макрос, чтобы получить сообщение?


 
Korvin   (2004-08-09 15:22) [4]

Ex.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Activate;
nE := Ex.ActiveCell.Row;


 
V l a d i m i r   (2004-08-10 16:53) [5]

Что-то не работает... :(

Я пытался сделать вот так:

Sheet.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Activate;
Info := Sheet.ActiveCell.Row;

ShowMessage(Info);



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.081 c
4-1089283866
andrey__
2004-07-08 14:51
2004.08.22
Как принять сообщение в TServiceApplication посланное другим прил


9-1079999810
Новичек
2004-03-23 02:56
2004.08.22
Как написать 3d-игру?


4-1088564990
Алекс А
2004-06-30 07:09
2004.08.22
Можно ли на Дельфи написать драйвер мыши ?


3-1091011103
vic
2004-07-28 14:38
2004.08.22
QRStringsBand


3-1091434355
Dot
2004-08-02 12:12
2004.08.22
StringGrid & DBGrid