Excel VSTO工作簿新活动

时间:2012-10-15 17:46:42

标签: c# excel vsto

在Excel 2007的一个Excel加载项项目中,我需要检查事件以创建新工作簿。我还需要抓住Workbook_Open活动,我很容易做到这一点......在互联网上的研究中我发现了以下内容:

  

在打开任何工作簿时引发Application.WorkbookOpen。高强   将作为参数打开的工作簿传递给此事件。这个   创建新的空白工作簿时不会引发事件。该   改为引发Application.WorkbookNew事件。

不幸的是,我目前无法找到Application.WorkbookNew事件......我遗失了什么?

输入应用程序后。自动完成为工作簿提供了一个很好的长事件列表(包含Open),但我找不到WorkbookNew事件......

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:7)

您正在寻找Application.NewWorkbook eventHere's the VBA reference。这是一个example in C#/VB.Net

编辑:

我无法确认此信息的有效性,但我找到了以下解释(link)

  

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