我有一种情况,我需要一个 VBA 函数来从子任务中查找一些信息。当我从 Global.MPT 中的 MS Project VBA 的立即窗口调用该函数时,该函数运行良好。该函数是一个公共函数,因此我希望能够从自定义字段中的公式访问它。但是,我在可能的函数列表中看不到它,并且当我手动键入它时出现语法错误。这就是我在公式中键入的内容:SummarryStatus([唯一 ID])。 我在 Global.mpt 中有其他函数和子函数,它们在我打开项目和按下宏快捷方式时执行。
这是函数,尽管在这种情况下,函数是什么或它做什么并不重要。我问如何调用 MS Project 自定义字段公式的任何函数。
Public Function SummaryStatus(nT As Long) As String
Dim c As Task
Dim cT As Task, ipT As Task
For Each c In ActiveProject.Tasks(nT).OutlineChildren
If c.PercentComplete = 100 Then
Set cT = c
ElseIf c.PercentComplete <> 0 Then
Set ipT = c
End If
Next c
If Not cT Is Nothing Then
SummaryStatus = cT.Name & " Completed"
ElseIf Not ipT Is Nothing Then
SummaryStatus = ipT.Name & " In Progress"
Else
SummaryStatus = "Not Started"
End If
End Function
自定义字段公式仅限于构建器中显示的内置函数。此外,自定义字段公式只能访问任务的字段——它们无法查看其他任务。
以下是使用函数的几种方法:
这里有几个如何使用事件的示例。