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 循环。
我在 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 循环。