Ms word 将自定义功能区组添加到word 2007中的现有自定义功能区组

Ms word 将自定义功能区组添加到word 2007中的现有自定义功能区组,ms-word,office-addins,Ms Word,Office Addins,如何将新组添加到现有(第三方)自定义功能区选项卡加载项?我知道可以通过指定Tabs idMSo值来添加开箱即用功能区,但如何为自定义功能区选项卡添加该值。我已经尝试过自定义功能区的ID值,但它会突出复制功能区?还尝试了idMso和idQ属性传递所需的自定义选项卡Id,但没有成功 我可以通过指定idMso值将其添加到开箱即用选项卡组,但不能添加到自定义选项卡组 关于word中的ribbon内容有点奇怪。基本上,我的理解是Word通过GetCustomUI一次性请求您的外接程序,以获取您想要包含的任

如何将新组添加到现有(第三方)自定义功能区选项卡加载项?我知道可以通过指定Tabs idMSo值来添加开箱即用功能区,但如何为自定义功能区选项卡添加该值。我已经尝试过自定义功能区的ID值,但它会突出复制功能区?还尝试了idMso和idQ属性传递所需的自定义选项卡Id,但没有成功

我可以通过指定idMso值将其添加到开箱即用选项卡组,但不能添加到自定义选项卡组


关于

word中的ribbon内容有点奇怪。基本上,我的理解是Word通过GetCustomUI一次性请求您的外接程序,以获取您想要包含的任何自定义UI、Ribbom声明、后台等

这是你唯一的机会。一旦告诉word自定义UI元素的XML,就不能动态添加按钮。但是,可以取消隐藏隐藏的元素,使其看起来像是在向功能区动态添加元素

第三方功能区的问题是Word已经从第三方应用程序中获得了自定义UI,因此,如果第三方希望在自己的功能区中动态添加按钮,您可能会遇到与此相同的问题


我相信Word采取了额外的步骤,允许您向“内置”功能区添加按钮,但据我所知,这并没有扩展到自定义功能区。

idQ
是正确的方法。此属性允许您指定限定id,即命名空间中的id。某些名称空间(如
mso
)是内置的,但也可以指定自定义名称空间

关键是在
customUI
元素中需要一个
xmlns:foo=“bar”
属性,该属性与您试图扩展的第三方加载项的
customUI
中声明的命名空间相匹配

例如,假设我有以下第三方加载项的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>
这将在一个自定义选项卡上生成两个组。同样的方法也可用于扩展组和其他容器控件

我是通过仔细研究这本书学到这一点的。不幸的是,除了XSD本身之外,它的文档记录很差

<?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>