如何使用VBA将滞后添加到MS Project中的前导字段

问题描述 投票:1回答:1

我试图给MS Project中的前任字段添加时间延迟,并且当对前一个已经存在滞后时我遇到了困难。

例如,当它只是一个前身我只是使用:

T.Predecessors + "FS +" & Time_lag & " hrs"

然而,如果已经存在时间滞后,我正在努力解决如何在已经与该任务相关的3小时滞后的情况下再添加2小时滞后。

我确信有一种比使用基于文本的方法添加滞后更好的方法。

vba ms-project
1个回答
0
投票

它有助于记住Predecessor字段显示串起来的Task Dependencies集合(以逗号分隔)。你想要做的是更新特定的依赖项,而不是整个集合。 Task Dependency对象有几个属性,包括Lag

在您的方案中,您有一个具有单个依赖关系的任务,并且您希望向延迟添加2个小时,其中t是您的任务,滞后以分钟表示:

t.TaskDependencies(1).Lag = t.TaskDependencies(1).Lag + 60 * 2

在更复杂的场景中,任务将具有多个依赖项,您需要找到正确的依赖项。在这种情况下,我们为UniqueID为2的前任任务链接设置了2天的滞后:

Dim td As TaskDependency
For Each td In t.TaskDependencies
    If td.From.UniqueID = 2 Then
        td.Lag = 60 * 8 * 2
    End If
Next td
© www.soinside.com 2019 - 2024. All rights reserved.