![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Автофильтр в 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?