更改MS Project上隐藏任务的持续时间

时间:2013-12-13 08:59:42

标签: vba ms-project

我是MS Project的新手,我需要帮助我不知道是否有可能。 在数百个任务的列表中,我需要根据标准隐藏一些任务。第一步很简单,我已经创建了一个具有我想要的标准的过滤器,将其应用于任务并且运行良好。

问题在于我需要更改过滤器隐藏的任务的持续时间,即将其持续时间更改为0,以便影响列表中其他任务的持续时间。通过过滤,唯一要做的就是从视图中隐藏任务,但它们仍然存在,因此日期和持续时间保持不变。

无论如何,我可以隐藏任务,并将其持续时间设置为0吗?也可以通过VBA,因为我之前使用的是VBA,而不是在Project中,而是在Access和Excel中。

1 个答案:

答案 0 :(得分:0)

如果您有MS Project 2010或更高版本,则可以将任务设置为非活动状态(鼠标右键/停用任务)。这使得持续时间等不再影响其他任务,即使仍然在非活动任务中说明。 否则,像这样的宏应该有所帮助:

Dim tskX As Task
For Each tskX In ActiveProject.Tasks
    If Not (tskX Is Nothing) Then               'Do not combine this line with any other line! You would get runtime errors when accessing empty tasks (space rows) in your schedule.
        If Not tskX.ExternalTask Then           'You can't modify external linked tasks anyhow. You would get runtime errors if trying this.
            If tskX.Text1 = "x" Then            'Instead of "Text1" you can access the field containing your criteria here
                tskX.PercentWorkComplete = 0
                tskX.Duration = 0
                End If
            End If
        End If
    Next tskX

最好的问候,Kawi42