如何从 MS Project 中的自定义字段调用 VBA 函数

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

我有一种情况,我需要一个 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
ms-project
1个回答
0
投票

自定义字段公式仅限于构建器中显示的内置函数。此外,自定义字段公式只能访问任务的字段——它们无法查看其他任务。

以下是使用函数的几种方法:

  • 打开文件时执行(与其他函数一样)
  • 按需(例如在中间窗口中)
  • 在不同的事件上执行,例如 ProjApp_ProjectBeforeTaskChange

这里有几个如何使用事件的示例。

© www.soinside.com 2019 - 2024. All rights reserved.