Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как скрыть строки в Excel ? [D7, XP]


Страницы:   1 2

AntonUSAnoV ©   (2008-01-11 17:37:00) 

Здравствуйте Мастера!
Ситуация такая : программа генерирует отчёт по шаблону в Excel, в конкретном случае составляется список спортсменов, допустим 10 строчек (в шаблоне) вниз заполнены спец. символами типа (s1, s2, ... s10). При выполнении проги эти символы заменяются с помощью replace на фамилии спортсменов. Собственно как скрыть строки я нашёл - selection.entirerow.hide, но как можно узнать номер строки, на которой заполнение данных закончилось и как правильно выделить (select) эти строки чтобы скрыть. Или может есть какой другой способ скрыть строки ?  
Кстати данные заполняются с помощью цикла: типа

x:=0;
for i:=0 to dbmemo.lines.count do begin
x:=x+1;
selection.replace('s'+inttostr(x),buf) //где buf - строка из МЕМО
------------------------
selection.replace('s'+inttostr(x),buf);
(код примерный)
таким образом данные заполняются столько строк, сколько строк в DBMEMO.


Сергей М.   (2008-01-12 19:42:00) [21]


>  с чего ты взял, что у него TExcelApplication? нормальные
> герои всегда идут в обход


Вряд ли.

В параметрах вызываемой Find у автора действительно бардак, на что компилятор честно отругался. А отругаться он мог только имея прототип.


sniknik   (2008-01-12 19:38:00) [22]

> Установи мышиный курсор на "Find" и в контекстном меню выбери пункт Find Declaration
проще, зажать Ctrl и кликнуть мышкой на интересующей декларации.

только с чего ты взял, что у него TExcelApplication? нормальные герои всегда идут в обход. ;) (наверняка все через создание обьектов и "вариант")


Сергей М.   (2008-01-12 19:28:00) [23]


>  где найти


Ты ведь пользуешь компонент TExcelApplication ?

Искать ничего не надо, поручи поиск самой IDE - если ей известно, что такое "Find" в тексте твоей программы, то ей также известно и где находится юнит, где объявлен этот самый "Find".

Установи мышиный курсор на "Find" и в контекстном меню выбери пункт Find Declaration


sniknik   (2008-01-12 19:18:00) [24]

с таким именем делается при имрортировании библиотеки типов, это в меню, в проектах.

есть готовые, сдесь (имена чуток исправлены)
C:\Program Files\Borland\Delphi7\Ocx\Servers\*.*


AntonUSAnoV   (2008-01-12 18:55:00) [25]

Я конечно извиняюсь бесконечно но где найти ,

> excep_tlb.pas


Сергей М.   (2008-01-12 16:50:00) [26]


> говорит несовпадение типов


Сравни свой вариант вызова ф-ции с ее прототипом в excep_tlb.pas - найдешь свою ошибку.


> передать в переменную номер строки этой ячейки


r := Selection.Row


AntonUSAnoV   (2008-01-12 16:05:00) [27]

написал в коде e.selection.find('<s'+inttostr(i)+'>',xlnext,xlpart,xlbycolumns
делфи сердится, говорит несовпадение типов ... как правильно найти ячейку со значением (s1>, а затем передать в переменную номер строки этой ячейки ???


Сергей М.   (2008-01-11 23:10:00) [28]

И что ?

Тебе трудно в полученном VBA-коде подставить вместо константы  переменную ? Или где ?


AntonUSAnoV   (2008-01-11 23:03:00) [29]

Так я и узнал собственно про Hide. Но суть в том что записывая макрос ты видишь что выделяешь, т.е. конкретно указываешь экселю какие строки хочешь скрыть . А у меня др. ситуация - при работе моего приложения строки заполняются по циклу, и задача сводится к тому, чтобы узнать на какой строке заполнение остановилось, и скрыть все строки начиная с этой до другой(кстати тоже маркированной). Др. словами надо найти ячейку содерж. значение (s1), передать в переменную номер строки этой ячейки, найти ячейку содерж. (s10), передать в переменную знач. строки и скрыть все строки от первой переменной до второй. О как...


Сергей М.   (2008-01-11 22:40:00) [30]


>  кто может просто методы скрытия строк в Excel подсказать
> ?


Сам Ёхель тебе и подскажет)

Стартуй запись макроса, укажи мышом строки, в контекстном меню выбери пункут скрытия, останови запись, просмотри текст записанного макроса - вуаля !

Что еще надобно, старче ?)


AntonUSAnoV   (2008-01-11 22:34:00) [31]

Ну кто может просто методы скрытия строк в Excel подсказать ?


Dib@zol   (2008-01-11 22:09:00) [32]

> Ну представьте что в списке виды бактерий, если Вы такой
> любитель флоры и фауны...

Ошибаешься. Он ярый ненавистник всей фауны, на етом форуме обитающей )))


AntonUSAnoV   (2008-01-11 22:03:00) [33]


> Сергей М.

Ну представьте что в списке виды бактерий, если Вы такой любитель флоры и фауны...


Сергей М.   (2008-01-11 20:30:00) [34]


> При выполнении проги эти символы заменяются с помощью replace
> на фамилии спортсменов


Если бы речь шла не о фамилиях спортсменов, а об именах инфузорий-туфелек, я бы дал тебе готовое решение.

Жаль что туфельки тебя не интересуют.


Сергей М.   (2008-01-11 20:21:00) [35]

Какая замечательная формулировка задачи !
Какое отношение фамилии спортсменов имеют к "делу" ?)


AntonUSAnoV   (2008-01-11 20:12:00) [36]


> Сергей М.

какое замечательное наблюдение! А по делу?


Сергей М.   (2008-01-11 19:56:00) [37]


> данные заполняются столько строк, сколько строк в DBMEMO.


Великие и могучая русское языка !

Штрафы оплачиваются столько карманов, сколько карманов в ГИБДД


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо