![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скрыть строки в Excel ? [D7, XP]
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.
Великие и могучая русское языка !
Штрафы оплачиваются столько карманов, сколько карманов в ГИБДД