Числовой фильтр отличается от текстового лишь блоком фильтруемых параметров в коде, который начинается со строки 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 - это первый столбец на листе.
' по заданному значению, в данном случае это столбец 6. Нумерация столбцов, как и
' нумерация листов начинается с 0. 0 - это первый столбец на листе.
.Field = 5
' Определяем критерий фильтрации, окончание этой строки, определяет, как именно
'нужно отфильтровать данные слово EQUAL обозначает РАВНО, NOT_EQUAL - не
'равно, GREATER_EQUAL - больше или равно, LESS_EQUAL - меньше или равно,
'нужно отфильтровать данные слово EQUAL обозначает РАВНО, NOT_EQUAL - не
'равно, GREATER_EQUAL - больше или равно, LESS_EQUAL - меньше или равно,
' GREATER - больше, LESS - меньше
.Operator = com.sun.star.sheet.FilterOperator.GREATER_EQUAL
'Устанавливаем что это именно числовой фильтр
.isNumeric = True
' Определяем значение, свыше (ниже которого нужно отфильтровать)
'десятичный разделитель - точка (это важно!)
.NumericValue = 0.004
End With
Все остальные строки кода будут теми же что в строковом фильтре.
Задача: Открыть файл Реестр документов по МХ и провести фильтрацию по столбцу "Сумма документа" по критерию не равно нулю через макрос, изменив код из предыдущего поста.
Комментариев нет:
Отправить комментарий