看起来Application对象中没有ProjectBeforeOpen事件。文档显示了一个可能有效的WindowActivate事件,但在VisualStudio中,该事件不在ThisAddIn类的Application事件列表中。
他们真的离开了这个活动吗?我错过了什么吗?
在应用程序级别,使用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 Project文件或global.mpt(see SO example)中。