MS Project 公式计算 returns 不一致的结果

MS Project formula calculation returns inconsistent results

在 MS Project Professional 中,我有一个自定义字段 returns 正确的值...有时,在其他时候没有值,而在其他时候,#ERROR 没有明显的押韵或原因。

目标:我需要捕获 [Resource Names] 字段以便在外部应用程序中使用 - 很简单 - 但是当我有一个资源单位有限的固定单位任务时,我需要排除“[##% ]" 的名称部分。示例:Sam[25%] 但我只需要“Sam”

公式:IIf(IsNumeric(InStr(1,[Resource Names],"[")),LEFT([Resource Names],Len([Resource Names])-5),[Resource Names])

结果汇总:

奇怪的是,摘要任务没有显示正确的值。

需求:谁能帮我修改一下公式?或者,我应该接受并手动删除有问题的括号和数字吗?

如果您只为一项任务分配了一个资源,则此公式有效:IIf(0=InStr(1,[Resource Names],"["),[Resource Names],Left([Resource Names],InStr(1,[Resource Names],"[")-1))

但是,由于可用函数有限,构建一个处理多个资源的公式将非常乏味。在那种情况下,更新字段的宏会更好:

Sub GetResourceNames()
    Dim t As Task
    For Each t In ActiveProject.Tasks
        Dim resList As String
        resList = vbNullString
        Dim a As Assignment
        For Each a In t.Assignments
            resList = resList & "," & a.Resource.Name
        Next a
        t.Text2 = Mid$(resList, 2)
    Next t
End Sub