活动时活动工作簿更改
我正在写一个Excel AddIn。它使用功能区其中某些控件根据工作簿的属性启用/禁用。活动时活动工作簿更改
要做到这一点,我想我应该更新功能区控件的状态,只要活动工作簿更改。
芯片皮尔逊的网站解释how to do it in VBA和here解释如何得到有效的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);
}
解是基于[页](HTTP:// MSDN。 microsoft.com/en-us/library/office/aa168477(v=office.11).aspx)@TimWilliams和[这个早期的问题](http://*.com/questions/7180318/c-sharp-使用-的事件处理程序,workbookopen)。 – 2012-08-07 19:48:05
¿此解决方案是否足够有效? ¿是否有任何潜在的问题? – 2012-08-07 19:48:36
http://msdn.microsoft.com/en-us/library/office/aa168477(v=office.11).aspx – 2012-08-07 18:53:17