在 MS Project 中使用 VBA 更改字段中的值

Changing a Value in a field using VBA in MS Project

我正在使用其中包含查找值的 Text1 字段,并基于我想要的特定值,然后将字段 "Marked" 更新为等于 "Yes"

Text1 值 - 估计的正好 - 延迟

我试过在自定义字段中使用公式

IIf([Text1]="On Target",[Marked]="True",[Marked]="False")

我实际上是在 Text1 = Delayed 时尝试有条件地格式化该行。我想这样做的一个原因是要使用很少使用的字段,例如[Marked]。

这是一个 vba 过程,它将根据 Text1 字段的值设置 Marked 字段。

Sub SetMarked()
    Dim tsk As Task
    For Each tsk In ActiveProject.Tasks
        If Not tsk Is Nothing Then
            tsk.Marked = (tsk.Text1 = "On Target")
        End If
    Next tsk
End Sub

仅供参考:可以使用公式自定义 Flag1-10 字段以执行相同的操作:IIf([Text1]="On Target",True,False)。标志字段可用于自定义甘特图条,但不能用于甘特图 table 中的文本(如 Marked 字段可以)。