2012-10-15 87 views
3

在Excel 2007的一個Excel加載項項目中,我需要檢查創建新工作簿的事件。我還需要追趕我做的相當容易的Workbook_Open事件......在我在互聯網上的研究,我發現以下幾點:Excel VSTO WorkbookNew事件

任何打開工作簿時Application.WorkbookOpen提高。 Excel 將作爲參數打開的工作簿傳遞給此事件。當創建新的空白工作簿時,不會引發這個 事件。 Application.WorkbookNew事件被引發。

不幸的是,我目前無法找到Application.WorkbookNew事件......我錯過了什麼?

輸入應用程序後。自動完成提供了一個很好很長的活動列表(包括Open),但我找不到WorkbookNew事件...

任何想法?

謝謝!

回答

7

您正在尋找Application.NewWorkbook eventHere's the VBA reference。這裏是一個example in C#/VB.Net

編輯:

我無法確認這些信息的有效性,但我發現下面的解釋(link)

的NewWorkbook事件是對應用級事件。由於有 也同樣名稱的屬性,智能感知不顯示這個給你 除非你明確地投的應用對象的應用程序 事件:

 ((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 環境之外使用。

+0

這就像一個魅力!非常感謝! – AndreiC