【发布时间】:2020-07-01 06:50:17
【问题描述】:
我目前正在尝试编写 VBA 代码,该代码将查看项目计划并从我的计划中删除所有工作量为零但不是里程碑的任务。我们添加了一个名为 Key Milestone 的自定义字段来捕获任务是否为里程碑。我们不使用现有 Milestone 字段的原因是,并非所有零工作量和零持续时间的任务都一定是里程碑。
我以前不熟悉 VBA 中的 GetField 函数,并且我一直在尝试将其合并为“读取”自定义字段作为此代码的一部分。这是我目前所拥有的:
Sub DeleteMsProjectTask()
Dim proj As Project
Dim t As Task
Set proj = ActiveProject
For Each t In proj.Tasks
If t.OutlineLevel > 1 And t.Work = 0 Then
If GetField(FieldNametoFieldConstant("Key Milestone") = Yes Then
Else
t.Delete
End If
End If
Next t
End Sub
这不起作用,因为它没有正确读取里程碑字段。提前感谢您的帮助!
【问题讨论】:
标签: vba ms-project