代码之家  ›  专栏  ›  技术社区  ›  Eric Christoph

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

  •  1
  • Eric Christoph  · 技术社区  · 7 年前

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

    他们真的把这件事漏掉了吗?我错过什么了吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Rachel Hettinger    7 年前

    在应用程序级别,使用 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项目文件或全局文件中。mpt公司( see SO example )。