活动工作簿更改时的事件

我正在写一个Excel AddIn 。 它使用function区 ,其中一些控件是启用/禁用取决于工作簿的属性。

要做到这一点,我想我应该更新活动工作簿更改function区控件的状态。

Chip Pearson的站点解释了如何在VBA中完成这个任务 , 这里解释了如何获取活动的Excel工作簿,但是我无法在我的C# AddIn中触发这个事件。

将下面的代码添加到ThisAddIn 类中事件似乎在需要时升起。

  void Application_ActiveWorkbookChanges(Excel.Workbook Wb) { // TODO: Active Workbook has changed. Ribbon should be updated. } private void ThisAddIn_Startup(object sender, System.EventArgs e) { this.Application.WorkbookActivate += new Excel.AppEvents_WorkbookActivateEventHandler (Application_ActiveWorkbookChanges); this.Application.WorkbookDeactivate += new Excel.AppEvents_WorkbookDeactivateEventHandler (Application_ActiveWorkbookChanges); }