Excel VSTO WorkbookNew事件

在Excel 2007的一个Excel加载项项目中,我需要检查事件以创build新的工作簿。 我还需要赶上Workbook_Open事件,我很轻松地做了…在我的互联网研究上,我发现了以下内容:

打开任何工作簿时,会引发Application.WorkbookOpen。 Excel将作为参数打开的工作簿传递给此事件。 创build新的空白工作簿时不会引发此事件。 Application.WorkbookNew事件被引发。

不幸的是,我无法findApplication.WorkbookNew事件…我错过了什么?

input应用程序后。 自动完成提供了一个漂亮而长的工作簿事件列表(包含Open),但是我找不到WorkbookNew事件…

有任何想法吗?

谢谢!

您正在寻找Application.NewWorkbook event 。 这是VBA参考 。 这里是一个在C#/ VB.Net的例子

编辑:

我无法确认这个信息的有效性,但是我find了下面的解释(链接) :

NewWorkbook事件是一个应用程序级别的事件。 由于还有一个同名的属性,因此除非您明确地将应用程序对象转换为应用程序事件,否则Intellisense不会显示给您。

  ((Excel.AppEvents_Event)ThisApplication).NewWorkbook += new Microsoft.Office.Interop.Excel.AppEvents_NewWorkbookEventHandler(ThisWorkbook_NewWorkbook); 

事件处理程序:

  void ThisWorkbook_NewWorkbook(Microsoft.Office.Interop.Excel.Workbook Wb) { MessageBox.Show("New workbook" + Wb.Name); } 

您尝试使用的过程仅在ThisWorkbook VBA项目中有效。 它不能在直接的Excel环境之外使用。