Excel VSTO,工作簿公开事件不会触发

我在VB.Net的Excel Addin Proect中得到了下面的代码:

Public Class ThisAddIn Private Sub Application_WorkbookOpen(Wb As Microsoft.Office.Interop.Excel.Workbook) Handles Application.WorkbookOpen Beep() MsgBox("fad") End Sub End Class 

这是由VB编辑器生成的。 这是工作簿打开时的事件处理程序。 当我按下F5并运行代码时,显然事件处理程序不会执行。 有任何想法吗?

编辑:事件处理程序将运行,如果我打开工作簿打开工作簿,但不会运行原始工作簿本身。

那么,当Excel启动时,您不会调用Open事件,只有在打开现有工作簿时才会调用该事件。

有一个事件** NewWorkbook *有趣的是,也没有被解雇…

我发现了一个如何处理这个问题,但不得不说,我只testing了1分钟,试试看,让我们知道

 Public Class ThisAddIn Private Sub ThisAddIn_Startup() Handles Me.Startup AddHandler Globals.ThisAddIn.Application.WorkbookOpen, AddressOf MyWorkbookOpenEvent AddHandler Globals.ThisAddIn.Application.NewWorkbook, AddressOf MyNewWorkbookEvent If Globals.ThisAddIn.Application.Workbooks.Count = 1 Then MyWorkbookOpenEvent(Globals.ThisAddIn.Application.Workbooks(1)) End Sub Private Sub MyWorkbookOpenEvent(ByVal Wb As Microsoft.Office.Interop.Excel.Workbook) System.Windows.Forms.MessageBox.Show("OPEN workbook event") End Sub Private Sub MyNewWorkbookEvent(ByVal Wb As Microsoft.Office.Interop.Excel.Workbook) System.Windows.Forms.MessageBox.Show("NEW Workbook event") End Sub Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown RemoveHandler Globals.ThisAddIn.Application.WorkbookOpen, AddressOf MyWorkbookOpenEvent RemoveHandler Globals.ThisAddIn.Application.NewWorkbook, AddressOf MyNewWorkbookEvent End Sub End Class