建立、編輯或複製篩選器。
語法
運算式。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 ]) ,或為 [建立] 為 True) (新篩選條件的名稱。 如果 NewName 是空白的建立為 False ,指定名稱的篩選器會保留其目前的名稱。 預設值為 空白。 |
| 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 包含 值。 |
| "does not contain" | FieldName 不包含 值。 |
| "contains exactly" | FieldName 完全包含 值。 |
傳回值
布林值
範例
下列範例會建立篩選 (如果不存在,) 用於具有最高優先順序的工作,然後套用篩選。
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 支援與意見反應。