如何从 MS Project VSTO 加载项中监听 Project Open 事件?

How do I listen for the Project Open event from an MS Project VSTO Add-In?

Application 对象中似乎没有 ProjectBeforeOpen 事件。文档显示了一个 WindowActivate 事件,它可能有效,但在 VisualStudio 中,该事件不在 ThisAddIn class.

中的应用程序事件列表中

他们真的漏掉了这个活动吗?我错过了什么吗?

在应用层面,使用Application.NewProject;它在创建新项目和打开项目时触发。

这是一个 vb.net 示例:

Private Sub Application_NewProject(pj As MSProject.Project) Handles Application.NewProject
    If String.IsNullOrEmpty(pj.Path) Then
        MessageBox.Show("New project created.")
    Else
        MessageBox.Show("Project " & pj.Name & " has been opened.")
    End If
End Sub

注意:不要将此事件与 project-level 事件混淆,Project.Open, which would reside in an MS Project file or the global.mpt ()。