Excel 功能区中的自定义选项卡无法激活
Custom tab in Excel Ribbon cannot be activated
我正在尝试激活自定义选项卡:
Globals.Ribbons.MyRibbon.RibbonUI.ActivateTab("TabAddin")
它什么都不做。没有错误,没有标签激活,什么都没有。
如果我将选项卡名称更改为不存在的选项卡,它会抛出异常,这是显而易见的。这意味着 ActivateTab 方法正在做一些事情,但不是它打算做的事情。
有什么帮助吗?这是 Excel 2016 年的 VSTO。
事实证明,我正在以编程方式打开这本书,并且在调用 Open 方法后立即尝试激活自定义选项卡。在那个阶段,选项卡还没有创建(可能 Open 方法是异步的),这就是选项卡没有被激活的原因。
终于用这个打开书了:
var excelApp = Globals.ThisAddIn.Application;
excelApp.WorkbookActivate += excelApp_WorkbookActivate;
Excel.Workbook workbook = excelApp.Workbooks.Open(Filename: fileToOpen);
在源文件的其他部分,我有:
void excelApp_WorkbookActivate(Excel.Workbook Wb)
{
Globals.ThisAddIn.Application.Wait(DateTime.Now.AddSeconds(1));
this.RibbonUI.ActivateTab("TabLeanAddin");
Globals.ThisAddIn.Application.WorkbookActivate -= excelApp_WorkbookActivate;
}
以上所有导致加载项按预期工作。
干杯
海梅
我正在尝试激活自定义选项卡:
Globals.Ribbons.MyRibbon.RibbonUI.ActivateTab("TabAddin")
它什么都不做。没有错误,没有标签激活,什么都没有。
如果我将选项卡名称更改为不存在的选项卡,它会抛出异常,这是显而易见的。这意味着 ActivateTab 方法正在做一些事情,但不是它打算做的事情。
有什么帮助吗?这是 Excel 2016 年的 VSTO。
事实证明,我正在以编程方式打开这本书,并且在调用 Open 方法后立即尝试激活自定义选项卡。在那个阶段,选项卡还没有创建(可能 Open 方法是异步的),这就是选项卡没有被激活的原因。
终于用这个打开书了:
var excelApp = Globals.ThisAddIn.Application;
excelApp.WorkbookActivate += excelApp_WorkbookActivate;
Excel.Workbook workbook = excelApp.Workbooks.Open(Filename: fileToOpen);
在源文件的其他部分,我有:
void excelApp_WorkbookActivate(Excel.Workbook Wb)
{
Globals.ThisAddIn.Application.Wait(DateTime.Now.AddSeconds(1));
this.RibbonUI.ActivateTab("TabLeanAddin");
Globals.ThisAddIn.Application.WorkbookActivate -= excelApp_WorkbookActivate;
}
以上所有导致加载项按预期工作。
干杯
海梅