【问题标题】:Add a custom Ribbon group to an existing custom Ribbon group in word 2007将自定义功能区组添加到 word 2007 中的现有自定义功能区组
【发布时间】:2010-06-16 09:54:25
【问题描述】:

如何将新组添加到现有(第 3 方)自定义功能区选项卡加载项?我知道我可以通过指定选项卡 idMSo 值添加到开箱即用的功能区,但我如何为自定义功能区选项卡执行此操作。我已经尝试过自定义功能区的 ID 值,但它突出了功能区?也尝试过 idMso 和 idQ 属性传入所需的自定义选项卡 Id 但没有成功。

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

问候

【问题讨论】:

    标签: ms-word office-addins


    【解决方案1】:

    idQ 是正确的方法。此属性允许您指定一个合格的 id,即命名空间中的一个 id。一些命名空间如mso 是内置的,但也可以指定自定义命名空间。

    关键是您的customUI 元素中需要一个xmlns:foo="bar" 属性,该属性与您尝试扩展的第三方加载项的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>
    

    现在,我想在另一个加载项或模板中使用新组扩展现有的 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>
    

    这会在一个自定义选项卡上生成两个组。相同的方法可用于扩展组和其他容器控件。

    我通过仔细研究Office 2010 Ribbon UI XSD 了解到这一点。不幸的是,它在 XSD 本身之外的文档很少。

    【讨论】:

      【解决方案2】:

      word 中的功能区有点奇怪。基本上,我理解的方式是 Word 通过 GetCustomUI 一次性要求您添加任何您想要包含的自定义 UI、Ribbom 声明、后台等。

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

      使用第三方功能区的问题是 Word 已经从第三方应用程序获得了自定义 UI,因此如果第三方想要动态添加按钮到他们的应用程序,您可能会遇到相同的问题自己的丝带。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多