这是一个很棒的问题,几乎没有关于使用第三方功能区的文档或示例。我已经做了很多挖掘工作,可以帮助你完成大部分你想要的事情。我会回答你的问题有点乱,但这里有。
3) PowerPivot 插件的选项卡 ID 是限定符 ID(因此必须与 idQ 一起使用)并且是tabGemini
. 您必须在名称空间中使用它:Microsoft.AnalysisServices.Modeler.FieldList
. 您可以通过向架构添加命名空间来检查这一点:
xmlns:x1="Microsoft.AnalysisServices.Modeler.FieldList"
然后在声明选项卡的 id 时,使用以下命令在 PowerPivot 选项卡之前插入选项卡:
insertBeforeQ="x1:tabGemini"
2) 我很难找到 PowerPivot 的选项卡 ID,因为它是 VSTO COM 插件,因此您无法像使用 .xlam 文件那样访问 XML。答案很简单,但您需要 Office 2010 或更高版本。打开 Excel 并打开您感兴趣的插件,转到文件菜单,然后转到选项。选择自定义功能区,然后在顶部窗口的右侧选择自定义功能区:主选项卡。现在取消选中您感兴趣的插件,然后点击底部的 Import/Export 以导出 XML 模式。在文本编辑器中打开这个文件,你可以看到他们是如何声明他们的标签 ID 的。
1) 我认为您在 getVisible 回调中遇到的问题是,如果有人在您之后加载加载项,无论您如何标记 XML,它都会覆盖您所做的任何事情。以下内容来自 Fluent Ribbon for Developers FAQ (http://msdn.microsoft.com/en-us/library/office/aa722523%28v=office.12%29.aspx#a16c7df5-93f3-4920-baa8-7b7290794c15_FAQ )
当两个加载项尝试重新利用相同的内置控件时会发生什么?尝试重新调整控件用途的最后一个加载项将成为活动加载项。
现在我没有比这更进一步,但是如果您可以将此板架构导入/导出到 Office,那么如果您可以找到此 get 的导入位置,也许您可以使用文件脚本对象在 VBA 中手动覆盖它。显然,只有当它存储为文本时。有点远射,但值得进一步研究?祝你好运!