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

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

Автофильтр в Excel [Delphi, Windows]


vs_on ©   (2007-02-14 14:22:00) 

Здравствуйте.
Подскажите пожалуйста как из Delphi на листе Excel включить автофильтр.

То есть не отфильтровать данные по критерию, а сделать как если  бы мы в Excel'e Данные->Фильтр->Автофильтр.

Т.е. нужно просто добиться, чтобы появились combobox'ы со стандартным списком вариантов (Все, Первые 10, Условие ..., итд).

Заставить работать
ExcelWorksheet1.Range[1,1].AutoFilter(1,'','','','true')
не получается. Вылетает с ошибкой OLE.


vs_on   (2007-02-14 16:42:00) [1]

Всем спасибо! Разобрался.
Пример вызова функции:
AutoFilter(3,'>=8',xlAnd,EmptyParam,True);


vs_on   (2007-02-14 15:20:00) [2]


> а
> ExcelWorksheet1.Cells.AutoFilter;
> работает? И, кстати, как Вы используете эксель? ExcelWorksheet1
> - это компонент с закладки Servers?


Неработает. Пишет "Метод AutoFilter из класса Range завершен неверно".

Код

var
 XL,              
 Vals: Variant;  
 Rows, Cells: integer;

begin

   Screen.Cursor := crHourGlass;
   Rows := 10;
   Cells := 5;  
   Vals := VarArrayCreate([0, Rows, 0, Cells], varVariant);

   try
     XL := CreateOleObject('Excel.Application');
   except
     raise Exception.Create('Ошибка открытия Excel');
   end;

   XL.Application.EnableEvents := False;
   XL.WorkBooks.Add('C:\test.xls');
   XL.Range[XL.Cells[2,1], XL.Cells[Rows, Cells]].Value := 2;
   XL.Visible := True;
   XL.Cells.AutoFilter(1,'','','','true');
   XL.ActiveWorkBook.SaveAs('c:\test2.xls');


umbra   (2007-02-14 15:01:00) [3]

а
ExcelWorksheet1.Cells.AutoFilter;
работает? И, кстати, как Вы используете эксель? ExcelWorksheet1 - это компонент с закладки Servers?


Наверх

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