Метод Application.FilterEdit (Project)
Создает, редактирует или копирует фильтр.
Синтаксис
expression. FilterEdit (Name, TaskFilter, Create, OverwriteExisting, Parenthesis, NewName, FieldName, NewFieldName, Test, Value, Operation, ShowInMenu, ShowSummaryTasks)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Name | Обязательный | String | Имя фильтра для изменения, создания или копирования. |
TaskFilter | Обязательный | Boolean | Значение true , если фильтр, указанный с именем, содержит сведения о задаче. Значение False , если фильтр содержит сведения о ресурсе. |
Создание | Необязательный | Логический | Значение true , если создается новый фильтр. Новый фильтр представляет собой копию фильтра, указанного в поле Имя, и ему присваивается имя, указанное в параметре NewName. Если newName пусто, новому фильтру присваивается имя, указанное в поле Имя. Значение по умолчанию — False. |
OverwriteExisting | Необязательный | Логический | Значение true , если существующий фильтр перезаписан новым фильтром. Значение по умолчанию — False. |
Круглые скобки | Необязательный | Логический | Значение true , если критерий, установленный FieldName, Test и Value, оценивается как предложение AND или OR (значение, указанное в параметре Operation) по отношению к другим критериям в порядке (a AND b) OR c. |
Newname | Необязательный | String | Новое имя фильтра, указанное в поле Имя (Create — False) или имя для нового фильтра (Create имеет значение True). Если параметр NewName пуст, а параметр Create имеет значение False, фильтр, указанный в поле Имя, сохраняет свое текущее имя. Значение по умолчанию — Empty. |
FieldName | Необязательный | String | Имя изменяемого поля. |
NewFieldName | Необязательный | String | Новое имя поля, указанного параметром FieldName. |
Test | Обязательный | String | Тип сравнения между FieldName и Значением, который выступает в качестве критерия выбора для фильтра. Может быть одной из строк сравнения. |
Value (Значение) | Необязательный | String | Значение, сравниваемое со значением поля, указанного в поле FieldName. |
Операция | Необязательный | String | Как критерий, установленный с помощью FieldName, Test и Value, связан с другими критериями в фильтре. Для аргумента Operation можно задать значение "And" или "Or". |
ShowInMenu | Необязательный | Логический | Значение true , если фильтр отображается в раскрывающемся списке Фильтр . Значение по умолчанию — False. Примечание Чтобы отобразить список фильтров, на ленте на вкладке Вид щелкните раскрывающийся список Фильтр . |
ShowSummaryTasks | Необязательный | Логический | Значение True , если отображаются сводные задачи отфильтрованных задач. Значение по умолчанию — False. |
Строки сравнения
Строка сравнения | Описание |
---|---|
"равно" | Значение FieldName равно Значению. |
"не равно" | Значение FieldName не равно Значению. |
"больше, чем" | Значение FieldName больше значения Value. |
"больше или равно" | Значение FieldName больше или равно значению Value. |
"меньше, чем" | Значение FieldName меньше значения Value. |
значение "меньше или равно" | Значение FieldName меньше или равно значению Value. |
"is within" | Значение FieldName находится в значении Value. |
"не внутри" | Значение FieldName не находится в значении Value. |
"contains" | FieldName содержит значение. |
"не содержит" | FieldName не содержит значение. |
"содержит точно" | FieldName точно содержит значение. |
Возвращаемое значение
Boolean
Пример
В следующем примере создается фильтр (если он не существует) для задач с наивысшим приоритетом, а затем применяется фильтр.
Sub CreateAndApplyHighestPriorityFilter()
Dim TaskFilter As Variant ' Index for For Each loop.
Dim Found As Boolean ' Whether or not the filter exists.
Found = False ' Assume the filter does not exist.
' Look for filter.
For Each TaskFilter In ActiveProject.TaskFilterList
If TaskFilter = "Highest Priority" Then
Found = True
Exit For
End If
Next TaskFilter
' If filter doesn't exist, create it.
If Not Found Then FilterEdit Name:="Highest Priority", _
Create:=True, TaskFilter:=True, FieldName:="Priority", _
Test:="equals", Value:="Highest"
FilterApply "Highest Priority"
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.