Главная страница
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.065 c
1-1092140318
Рафик
2004-08-10 16:18
2004.08.22
QUICKREPORT


4-1089370707
Sergey77
2004-07-09 14:58
2004.08.22
перехват


1-1092128947
iPod
2004-08-10 13:09
2004.08.22
ThreadSafe доступ к переменным


4-1088528362
djone
2004-06-29 20:59
2004.08.22
TreeView


1-1091818035
Alex870
2004-08-06 22:47
2004.08.22
TreeView и ImageList