如何从MS Project VSTO加载项中侦听项目更改事件?

时间:2018-02-08 13:30:10

标签: vsto ms-project

我的加载项有一个应用程序事件ProjectBeforeTaskChange,它可以从ThisAddIn类中获得。我需要的是ProjectAfterTaskChange事件,但这不存在。有没有办法从应用程序级别的加载项中侦听Project Change事件?

我的最终目标是在特定文本字段更改时设置三个数字字段。

1 个答案:

答案 0 :(得分:1)

ProjectBeforeTaskChange是用于监控字段更改的正确事件。 "之前"指的是处理程序可以通过将Cancel参数设置为True来阻止更改。当用户对任务字段进行更改时,将触发该事件。

这是一个vb.net示例,只要Text1字段发生更改,它就会递增Number1和Number2字段:

Private Sub Application_ProjectBeforeTaskChange(tsk As MSProject.Task, Field As MSProject.PjField, NewVal As Object, ByRef Cancel As Boolean) Handles Application.ProjectBeforeTaskChange

    If Field = MSProject.PjField.pjTaskText1 Then
        Select Case NewVal
            Case Is = "In-work": tsk.Number1 = 50
            Case Is = "Complete": tsk.Number1 = 100
            Case Else: tsk.Number1 = 0
        End Select
    End If
End Sub

这是MSDN页面。

这里显示了一个显示c#框架的related post