Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
13:09:2005, 12:24
|
|
Новенький ![]() Группа: Программист Сообщений: 11 Регистрация: 26:07:2005 Пользователь №: 2 038 Репутация: 0
|
Уважаемые пользователи форума, подскажите пожалуйста, как можно определить номер последней заполненной строки в документе Excel, без анализа содержания ячеек. ( Связь с Excel ведется через COM )
Заранее благодарю ! |
|
Сообщение
#1
|
|
![]() |
|
|
13:09:2005, 13:29
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 2 450 Регистрация: 27:05:2004 Из: Минск Пользователь №: 561 Специализация: Delphi, RDBMS, C# Репутация: 8
|
Хммм.. наверно никак... по крайней мере сходу ничего не приходит ..
Да и вопрос не совсем корректен .. последняя .. считая по строке или по столбцу ? |
|
Сообщение
#2
|
|
|
|
14:09:2005, 06:50
|
|
Новенький ![]() Группа: Программист Сообщений: 11 Регистрация: 26:07:2005 Пользователь №: 2 038 Репутация: 0
|
Добрый день! Приятно слышать знакомые голоса!
Данные в Excel расположены в строках. Если открыть документ, то Excel точно изобразит размер маркера на левой полосе прокрутки исходя из числа видимых на экране строк и их общего числа в документе. Это наводит меня на мысль, что Excel знает номер последней строки ( и столбца ) на листе. Кто знает как из Delphi получить эту информацию от Excel, поделитесь пожалуйста. |
|
Сообщение
#3
|
|
|
|
15:09:2005, 06:32
|
|
Почетный секретчик ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 166 Регистрация: 30:09:2003 Из: Брест Пользователь №: 58 Специализация: Пиво Репутация: 2
|
Для: ShingelD
Цитата msgbox (Sheets(1).Cells(Sheets(1).[a1].CurrentRegion.Rows.Count, 1).Value) этот код выведет массажбокс со значением последней ячейки в первом столбце первого листа. Цитата Application.SpecialCells(xlLastCell) это из самого Excel'а |
|
Сообщение
#4
|
|
|
|
19:09:2005, 07:03
|
|
Новенький ![]() Группа: Программист Сообщений: 11 Регистрация: 26:07:2005 Пользователь №: 2 038 Репутация: 0
|
Чето не идет.
Спасибо за наводку, буду пробовать ещё! |
|
Сообщение
#5
|
|
|
|
13:04:2007, 09:12
|
|
Новенький ![]() Группа: Программист Сообщений: 1 Регистрация: 13:04:2007 Пользователь №: 10 244 Репутация: 0
|
У меня получилось так :
const xlCellTypeLastCell = $0000000B; ... xl_app.ActiveWorkbook.Sheets.Item[1].Cells.SpecialCells(xlCellTypeLastCell).Acti vate; last_row := xl_app.ActiveCell.Row |
|
Сообщение
#6
|
|
![]() |
|
Текстовая версия | Сейчас: 17:05:2008 - 06:02 |