VBA MS Project 循环遍历 outlinechildren 递归

VBA MS Project Loop through outlinechildren recursively

我在 MPP 中有一个多级任务层次结构,我需要从中提取所有任务的 task.name,但不包括层次结构中的摘要任务。

是否有一种优雅而稳健的方法将 Do While 循环与所有摘要任务的 OutlineChildren 属性 结合使用,以循环遍历所有级别的所有任务 在该层次结构中递归?

谢谢!

编辑:也许 Do Until Loop 是最好的?

这是一个迟到的回复,但我有同样的问题。幸运的是,我找到了解决方案 here.

我稍微修改了代码,但这是我在自己的项目中使用的代码:

Public Sub GetAllSubtasks(ByRef t As Task)
    Dim subtask As Task
    Debug.Print t.Name
    For Each subtask In t.OutlineChildren
        GetAllSubtasks subtask
    Next subtask
End Sub

希望对您有所帮助!

编辑:此解决方案使用递归而不是 Do/While 循环。