根据工期和缩进删除任务

时间:2019-03-01 08:34:59

标签: vba ms-project

我的工作生成了很大的(2k多个任务)MS项目文件,但是,许多任务是“虚拟任务”,不需要使用,因此删除它们需要我和其他人完成。我们删除了“最低级别”的任务,这意味着它们没有子任务,并且它们具有特定的长度(例如1000天)。

所以我正在寻找一个宏,如果可能的话,它会遍历任务,并删除所有没有子任务且持续时间为1000天的任务。

我没有使用MS项目的经验,而且总体而言,使用VBA和编程的经验非常有限。我已经用Google搜索了很多,但是没有取得任何进展。

先谢谢了。奥斯卡

我现在得到的代码:

Sub DeleteMsProjectTask()
Dim proj As Project
Dim t As Task
Set proj = ActiveProject

Do While proj.Tasks.Count > 0
    For Each t In proj.Tasks
        If Not (t.Summary) Then
            t.Delete
        End If
    Next t
Loop
End Sub

1 个答案:

答案 0 :(得分:1)

我认为您需要在if语句中添加一些元素。

使用类似If t.OutlineChildren.count = 0 and t.Duration > 480000

Duration属性显然是在工作日的分钟数内计算的,因此您必须找出适合您的数字。