Главная страница
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.059 c
14-1091533035
}|{yk
2004-08-03 15:37
2004.08.22
4 уровневая архитектура???


1-1091625952
Белый волк
2004-08-04 17:25
2004.08.22
Проблема при установке одной из библиотек RX


8-1086346750
Kein
2004-06-04 14:59
2004.08.22
правильное масштабирование изображений


14-1091696301
Sir John
2004-08-05 12:58
2004.08.22
Registry, xml, ini и другие товарищи


3-1090749396
a3a3ello
2004-07-25 13:56
2004.08.22
InterBase -> Firebird