【问题标题】:MS Project VBA - How To Find Currently Active Task Filter?MS Project VBA - 如何查找当前活动的任务过滤器?
【发布时间】:2019-09-19 04:10:45
【问题描述】:

我想创建一个切换开关以切换过滤器(使用 FilterApply Name:="fName")然后再返回,但我似乎无法找到一种方法来检查当前应用的过滤器。

有人知道用 MS API 查询当前活动过滤器的方法吗?

谢谢

人族

    Sub _Unbaselined_Tasks_View()

  ---> Problem Line If ActiveProject.TaskFilter = "Active Tasks With No Baseline" Then
            FilterApply Name:="All Tasks"
            FilterClear
    Else
        FilterApply Name:="Active Tasks With No Baseline"
    End If

End Sub

【问题讨论】:

  • 你总是过滤同一列吗?
  • Terran 请使用标签下的编辑按钮将代码添加到您的问题中。在cmets上根本看不懂。
  • 嗨 Damian - 我已将该代码添加到第一页。谢谢T
  • 您的代码有什么问题? ActiveProject.TaskFilter 的值是多少?
  • 嗨尼克 - 虽然在我看来你可以做很多事情你不能问哪个过滤器处于活动状态因此寻找解决方法 - docs.microsoft.com/en-us/office/vba/api/… - 谢谢T

标签: vba filter ms-project


【解决方案1】:

project object 有一个名为 CurrentFilter 的属性,它将返回应用的过滤器的名称,如果没有应用过滤器,则返回“所有任务”。

Sub Elite_Unbaselined_Tasks_View()

    If ActiveProject.CurrentFilter = "Active Tasks With No Baseline" Then
        FilterApply Name:="All Tasks"
        FilterClear
    Else
        FilterApply Name:="Active Tasks With No Baseline"
    End If

End Sub

【讨论】:

  • 谢谢你的作品,我已将其标记为答案。
猜你喜欢
  • 2018-04-26
  • 2021-12-12
  • 2019-11-12
  • 2016-10-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多