【问题标题】:How do I listen for the Project Open event from an MS Project VSTO Add-In?如何从 MS Project VSTO 加载项中侦听 Project Open 事件?
【发布时间】:2018-03-07 02:09:49
【问题描述】:

Application 对象中似乎没有 ProjectBeforeOpen 事件。文档显示了一个 WindowActivate 事件,该事件可能有效,但在 VisualStudio 中,该事件不在 ThisAddIn 类的应用程序事件列表中。

他们真的忽略了这个事件吗?我错过了什么吗?

【问题讨论】:

    标签: ms-project


    【解决方案1】:

    在应用层,使用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.Open 混淆,后者将驻留在 MS 项目文件或 global.mpt (see SO example) 中。

    【讨论】:

    • 行得通,谢谢!我阅读了两遍文档,并没有认为它适用于现有项目。
    • 在这种情况下,文档相当缺乏。真的应该有一个单独的 Application.ProjectOpen 事件..
    猜你喜欢
    • 2018-07-19
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 2018-06-30
    • 1970-01-01
    相关资源
    最近更新 更多