excel - 隐藏 MS Office 功能区中的加载项选项卡(尤其是 PowerPivot 选项卡)

标签 excel ms-word ms-office powerpoint ribbonx

我正在修改 Excel 文件的功能区,隐藏所有默认选项卡和上下文选项卡,但仅显示我自己的选项卡。但是,一旦安装了带有自己选项卡的任何加载项,这些选项卡仍然会显示,因为我不知道如何解决它们。

我知道您可以使用 <ribbon startFromScratch="true"> 删除所有选项卡,但我需要将它们保留在适当的位置(我实际上使用 getVisible 回调对用户隐藏它们,但向管理员显示它们)。

那么,以下问题:

  1. 有没有办法为所有未知的选项卡应用“默认”getVisible 回调(我猜答案是否定的)
  2. 如何找出其他加载项选项卡的 tabID
  3. 鉴于 PowerPivot 越来越广泛(尤其是在 Excel 2013 中) - 该选项卡的 tabID 是什么?

最佳答案

这是一个很棒的问题,关于使用第三方功能区的文档或示例很少。我已经做了很多挖掘工作,可以帮助您完成您想要的大部分事情。我会稍微乱序地回答你的问题,但就这样吧。

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 并打开您感兴趣的插件,转到"file"菜单,然后转到“选项”。选择“自定义功能区”,然后在顶部窗口的右侧选择“自定义功能区:主选项卡”。现在取消选中您感兴趣的插件,然后点击底部的“导入/导出”以导出 XML 架构。在文本编辑器中打开此文件,您可以看到他们如何声明其选项卡 ID。

1) 我认为 getVisible 回调遇到的麻烦是,无论您如何标记 XML,如果有人在您之后加载了加载项,它都会覆盖您所做的任何操作。以下内容来自 Fluent Ribbon for Developers 常见问题解答 (http://msdn.microsoft.com/en-us/library/office/aa722523%28v=office.12%29.aspx#a16c7df5-93f3-4920-baa8-7b7290794c15_FAQ )

What happens when two add-ins try to repurpose the same built-in control? The last add-in that attempts to repurpose the control becomes the active add-in.

现在我没有比这更进一步,但如果您可以将此板架构导入/导出到 Office 中,那么如果您可以找到此 get 的导入位置,也许您可​​以使用 filescripting 对象在 VBA 中手动覆盖它。显然只有当它存储为文本时。机会有点远,但值得进一步研究吗?祝你好运!

关于excel - 隐藏 MS Office 功能区中的加载项选项卡(尤其是 PowerPivot 选项卡),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13720126/

相关文章:

python - XLWings/Excel 处理问题 "multi-cell array formulas"

python - 如何使用 python 获取 Excel 工作表的 "Total Editing Time"属性?

java - 如何在 Android Studio 中从 pdf 或 excel 文件导入联系号码?

automation - 自动化 Word 以从 URL 插入图像

ms-access - 如何更改Access 16 (Office 365) SQL Edit 窗口中的字体大小?

ms-office - 是否存在 OpenXML SDK v2 中未公开的功能?

c# - 使用 C# 在 Excel 中刷新文本框(文档)

excel - 如何通过 VBA 代码修复仅在 Excel 的共享模式下发生的运行时错误 400

vba - 如何使用VBA将Excel中的数据以文本形式导出到Word

vba - 字 VBA : Get Range between Consecutive Headings