Swi*_*ion 4 ms-word office-addins
如何将新组添加到现有(第三方)自定义功能区选项卡加载项?我知道我可以通过指定Tabs idMSo值添加到现成的功能区中,但是如何为自定义功能区选项卡添加功能区。我已经尝试过自定义功能区的ID值,但是它会重复功能区吗?还尝试了将idMso和idQ属性传递给必需的自定义标签ID,但没有成功。
我可以通过指定idMso值将其添加到“开箱即用”标签组中,但不能添加到“自定义”标签中
问候
idQ是正确的方法。该属性允许您指定合格的ID,即名称空间中的ID。某些名称空间mso是内置的,但也可以指定自定义名称空间。
关键是您需要xmlns:foo="bar"在customUI元素中的一个属性与您customUI要扩展的第3方加载项中声明的名称空间匹配。
例如,假设我具有以下第三方加载项的XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mso:customUI xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui"
xmlns:foo="bar">
<mso:ribbon>
<mso:tabs>
<mso:tab idQ="foo:someTab" label="an extensible custom tab">
<mso:group id="someGroup" label="a custom group">
<mso:button id="someButton" label="button" />
</mso:group>
</mso:tab>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
Run Code Online (Sandbox Code Playgroud)
现在,我想foo:someTab在另一个加载项或模板中使用新组扩展现有项。我customUI在新的加载项中定义了一个,确保在customUI元素中指定相同的名称空间属性。然后,我使用引用现有的标签idQ="foo:someTab":
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mso:customUI xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui"
xmlns:foo="bar">
<mso:ribbon>
<mso:tabs>
<mso:tab idQ="foo:someTab" label="an extensible custom tab">
<mso:group id="someOtherGroup" label="a different custom group">
<mso:button id="someOtherButton" label="a different button" />
</mso:group>
</mso:tab>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
Run Code Online (Sandbox Code Playgroud)
这将在一个自定义选项卡上产生两个组。可以使用相同的方法来扩展组和其他容器控件。
我通过仔细研究Office 2010 Ribbon UI XSD学会了这一点。不幸的是,它在XSD本身之外的文档很少。
word中的丝带有点奇怪。基本上,我的理解是,Word 通过 GetCustomUI 一次性询问您添加任何您想要包含的自定义 UI、Ribbom 声明、后台等。
这是你唯一的机会。一旦您指定了自定义 UI 元素的 XML,您就无法动态添加按钮。但是,您可以取消隐藏隐藏元素,以便使其看起来像是在动态地将元素添加到功能区中。
第三方功能区的问题是 Word 已经从第三方应用程序获取了自定义 UI,因此如果第三方想要动态添加按钮到自己的功能区,您可能会遇到与第三方相同的问题。
我相信 Word 会采取额外的步骤来允许您向“内置”功能区添加按钮,但据我所知,这不会扩展到自定义功能区。
| 归档时间: |
|
| 查看次数: |
4156 次 |
| 最近记录: |