如何在没有 xmlns/idQ 的情况下将组添加到 (VBA) 自定义功能区?

How to add a group to a (VBA) custom ribbon without xmlns/idQ?

情况:

并发症:

知道我们如何实现添加按钮吗?

我们可以请求更改 non-managed/VBA 加载项。

从高角度来看,两个加载项可以共享控件的功能区选项卡,因为它们加载到单个 PowerPoint 实例中。当您使用自定义 UI 开发启用宏的文件时 - 只能同时打开此文件。但是两个加载项可以运行为file/template。这就是 idQ 旨在由加载项使用的原因。

您可以在 MSDN 中的以下系列文章中阅读有关 Fluent UI(功能区 UI)的更多信息:

VBA 加载项默认没有自己的命名空间,但 可以 有一个。例如,如果您创建自定义命名空间,则多个 VBA 加载项可以共享功能区上的同一个选项卡。

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"
xmlns:nsMySpace="SomeName">

然后创建其他加载项可以共享的新选项卡:

<tab idQ="nsMySpace:MySpace_Tab" label="MyTabLabel">

除了 Steve 的回答之外,我们还发现 VBA 加载项具有默认命名空间,即使在其自定义 UI 中指定了 none 也是如此。

您可以通过将控件从功能区添加到快速访问然后导出 UI 自定义来提取命名空间。生成的文件应显示:

<mso:cmd app="PowerPoint" dt="1" />
<mso:customUI xmlns:x1="C:\Users\USERNAME\AppData\Roaming\Microsoft\AddIns\Addin.ppam">

所以默认命名空间似乎是加载项的完整路径。