Excel VSTO工作簿新活动

And*_*eiC 3 c# excel vsto

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

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

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

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

有任何想法吗?

谢谢!

Dan*_*iel 7

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

编辑:

我无法确认此信息的有效性,但我发现了以下解释(链接):

NewWorkbook事件是一个应用程序级事件.由于还有一个同名的属性,除非您将应用程序对象显式转换为应用程序事件,否则Intellisense不会向您显示此信息:

        ((Excel.AppEvents_Event)ThisApplication).NewWorkbook += new Microsoft.Office.Interop.Excel.AppEvents_NewWorkbookEventHandler(ThisWorkbook_NewWorkbook);
Run Code Online (Sandbox Code Playgroud)

事件处理程序:

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

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