Application.FilterEdit 方法 (Project)

创建、编辑或复制筛选器。

语法

表达式FilterEdit (NameTaskFilterCreateOverwriteExistingParenthesisNewNameFieldNameNewFieldNameTestValueOperationShowInMenuShowSummaryTasks)

expression:表示 Application 对象的变量。

参数

名称 必需/可选 数据类型 说明
Name 必需 String 要编辑、创建或复制的筛选器的名称。
TaskFilter 必需 Boolean 如此 如果指定名称的筛选器包含任务信息。 如果筛选器包含资源信息。
Create 可选 Boolean 如此 如果创建新的筛选器。 新的筛选器副本的名称与指定的筛选器,并给出新名称与指定的名称。 如果新名称是空的新的筛选器提供由名称指定的名称。 默认值为 False
OverwriteExisting 可选 Boolean 如此 如果新的筛选器将覆盖现有的筛选器。 默认值为 False
Parenthesis 可选 Boolean 如此 如果由字段名、 测试和价值的标准相对于其他条件 (AND b) 方式计算作为附加说明 ANDOR 子句 (与操作指定的值) 或 c。
NewName 可选 字符串 使用“创建名称 (”指定的筛选器的新名称) 为 False ,或者新筛选器的名称 (Create 为 True) 。 如果新名称为空,并且创建为 ,名称与指定的筛选器将保留其当前名称。 默认值为 Empty
FieldName 可选 String 要更改的域名称。
NewFieldName 可选 String 由 FieldName 指定的域的新名称。
Test 必需 String 在 FieldName 和 Value 之间进行的比较类型,可作为筛选器的选定条件。 可以是 比较字符串之一。
可选 字符串 要与 FieldName 指定的域值进行比较的值。
操作 可选 字符串 由 FieldName、Test 和 Value 建立的条件与筛选器中其他条件相关联的方式。 Operation 参数可以设置为"And"或"Or"。
ShowInMenu 可选 Boolean 如此 ,如果筛选器显示在 过滤器下拉列表。 默认值为 False注意 若要显示筛选器列表,请在功能区上的“ 视图 ”选项卡上,单击“ 筛选器” 下拉列表。
ShowSummaryTasks 可选 Boolean 如此 如果显示筛选出的任务的摘要任务。 默认值为 False

比较字符串

比较字符串 Description
"equals" FieldName 值等于 Value
"does not equal" FieldName 值不等于 Value
"is greater than" FieldName 值大于 Value
"is greater than or equal to" FieldName 值大于或等于 Value
"is less than" FieldName 值小于 Value
"is less than or equal to" FieldName 值小于或等于 Value
"is within" FieldName 值在 Value 之内。
"is not within" FieldName 值不在 Value 之内。
"contains" FieldName 包含 Value
"does not contain" FieldName 不包含 Value
"contains exactly" FieldName 正好包含 Value

返回值

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 支持和反馈,获取有关如何接收支持和提供反馈的指南。