четверг, 28 мая 2015 г.

Стандартный одиночный числовой фильтр

Числовой фильтр отличается от текстового лишь блоком фильтруемых параметров в коде, который начинается со строки With oField. Стандартно он выглядит следующим образом:
With oField
  .Field = 5
   .Operator = com.sun.star.sheet.FilterOperator.GREATER_EQUAL
  .isNumeric = True
  .NumericValue = 0.004

  End With

Прокомментируем:

With oField
'В этой строчке мы определяем номер столбца по которому будет проводится фильтр
' по заданному значению, в данном случае это столбец 6. Нумерация столбцов, как и 
' нумерация листов начинается с 0.  0  - это первый столбец на листе.
  .Field = 5
' Определяем критерий фильтрации, окончание этой строки, определяет, как именно
'нужно отфильтровать данные слово EQUAL обозначает РАВНО, NOT_EQUAL - не 
'равно, GREATER_EQUAL - больше или равно, LESS_EQUAL - меньше или равно,
' GREATER - больше, LESS - меньше
   .Operator = com.sun.star.sheet.FilterOperator.GREATER_EQUAL
'Устанавливаем что это именно числовой фильтр
  .isNumeric = True
' Определяем значение, свыше (ниже которого нужно отфильтровать)
'десятичный разделитель - точка (это важно!)
  .NumericValue = 0.004

  End With

Все остальные строки кода будут теми же что в строковом фильтре.
Задача: Открыть файл Реестр документов по МХ и провести фильтрацию по столбцу "Сумма документа" по критерию не равно нулю через макрос, изменив код из предыдущего поста.

Комментариев нет:

Отправить комментарий