(Project) 的 Application.FilterEdit 方法
建立、編輯或複製篩選器。
語法
運算式。FilterEdit (Name、 TaskFilter、 Create、 OverwriteExisting、 Parenthesis、 NewName、 FieldName、 NewFieldName、 Test、 Value、 Operation、 ShowInMenu、 ShowSummaryTasks)
expression 代表 Application 物件的變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
Name | 必要 | String | 要建立、編輯或複製的篩選器名稱。 |
TaskFilter | 必要 | Boolean | True 是表示 如果指定名稱的篩選器會包含任務資訊。 False 表示篩選包含資源資訊。 |
Create | 選用 | Boolean | True 是表示 如果建立新的篩選器。 新的篩選器是以名稱指定篩選條件的複本並使用 NewName 所指定的名稱會指定。 NewName 是空的如果新的篩選器會授與 Name 所指定的名稱。 預設值為 False 。 |
OverwriteExisting | 選用 | Boolean | True 是表示 如果新的篩選器會覆寫現有的篩選器。 預設值為 False 。 |
Parenthesis | 選用 | Boolean | True 是表示 如果 FieldName、 Test 和 Value 所建立的準則評估為括號 AND 或 OR 子句 (指定作業的值) 相對於其他準則,(與 b) 的方式 OR c。 |
NewName | 選用 | 字串 | 以 [名稱 (建立] 指定之篩選的新名稱為 False) 或新篩選 (Create 的名稱為 True) 。 如果 NewName 是空白的建立為 False ,指定名稱的篩選器會保留其目前的名稱。 預設值為 Empty。 |
FieldName | 選用 | String | 要變更的欄位名稱。 |
NewFieldName | 選用 | String | 以 FieldName 指定之欄位的新名稱。 |
Test | 必要 | String | FieldName 與 Value 之間所做的比較類型 (做為篩選器的選取準則)。 可以是其中一個 比較字串。 |
值 | 選用 | 字串 | 要與以 FieldName 指定之欄位的值進行比較的值。 |
作業 | 選用 | 字串 | 以 FieldName、Test 及 Value 建立的準則與篩選器中其他準則之間的關係。 Operation 引數可以設定為 "And" 或 "Or"。 |
ShowInMenu | 選用 | 布林值 | True 是表示 如果篩選顯示在 [ 篩選] 下拉式清單中。 預設值為 False。 注意 若要顯示篩選清單,請在功能區上的 [ 檢視] 索引 標籤上,按一下 [ 篩選 ] 下拉式清單。 |
ShowSummaryTasks | 選用 | 布林值 | True 是表示 如果顯示摘要任務的篩選後的工作。 預設值為 False。 |
比較字串
比較字串 | 描述 |
---|---|
"等於" | 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。 |
傳回值
布林值
範例
下列範例會針對優先順序最高的工作) 建立篩選 (,然後套用篩選準則。
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 支援與意見反應。