Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Delphi+excel, Последняя строка
ShingelD
Вставить ник
сообщение 13:09:2005, 12:24
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 11
Регистрация: 26:07:2005
Пользователь №: 2 038



Репутация: - 0 +


Уважаемые пользователи форума, подскажите пожалуйста, как можно определить номер последней заполненной строки в документе Excel, без анализа содержания ячеек. ( Связь с Excel ведется через COM )
Заранее благодарю !
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 5)
Barmutik
Вставить ник
сообщение 13:09:2005, 13:29
Цитата Ответить 


Божественный
*****

Группа: Модеры
Сообщений: 2 450
Регистрация: 27:05:2004
Из: Минск
Пользователь №: 561
Специализация: Delphi, RDBMS, C#



Репутация: - 8 +


Хммм.. наверно никак... по крайней мере сходу ничего не приходит ..


Да и вопрос не совсем корректен .. последняя .. считая по строке или по столбцу ?
Подняться вверх 
 
Сообщение #2
ShingelD
Вставить ник
сообщение 14:09:2005, 06:50
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 11
Регистрация: 26:07:2005
Пользователь №: 2 038



Репутация: - 0 +


Добрый день! Приятно слышать знакомые голоса! smile.gif

Данные в 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
ShingelD
Вставить ник
сообщение 19:09:2005, 07:03
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 11
Регистрация: 26:07:2005
Пользователь №: 2 038



Репутация: - 0 +


Чето не идет.
Спасибо за наводку, буду пробовать ещё!
Подняться вверх 
 
Сообщение #5
Sandance
Вставить ник
сообщение 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


Ответить  Новая тема 

 

RSS Текстовая версия Сейчас: 17:05:2008 - 06:02
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net