7

我找不到任何文档来验证这一点或任何工作示例

我想在下面实现类似这个 xml 的东西,但我认为这确实是不可能的。

<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2010/01/customui">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns" label="Ribbon1">
      </tab>

      <tab idMso="TabAddIns" label="Ribbon2">
      </tab>
    </tabs>
  </ribbon>

</customUI>
4

3 回答 3

13

您可以有多个选项卡,如果您使用退出选项卡然后设置idMso="exiting tabids"

现有的选项卡 ID 应该是可以在此处找到的有效 ID

如果您使用自己的自定义选项卡,请使用id="customtab1"而不是 idMso

customtab1 - 可以是任何有效的字符串

已编辑

下面的功能区 xml 工作

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns" label="Ribbon1">
        <group id="MyGroup"
               label="My Group">
        </group>
      </tab>
      <tab id="CustomAddin" label="Ribbon2">
      <group id="CustomAddinGroup"
             label="My Group">
      </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

尝试使用功能区设计器并转换为 XML,并确保在 ThisAddin.cs 文件中添加以下代码

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
   return new Ribbon1();
}
于 2013-08-22T09:25:53.767 回答
3

更改并idMsoid您的标签一个自定义名称。

<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2010/01/customui">
  <ribbon>
    <tabs>
      <tab id="Tab1" label="Ribbon1">
      </tab>

      <tab id="Tab2" label="Ribbon2">
      </tab>
    </tabs>
  </ribbon>

</customUI>

idMso用于指代已存在于托管功能区的应用程序中的 Microsoft 对象。

于 2013-08-24T13:19:22.800 回答
2

您不能有两个具有相同 id 的选项卡 (idMso="TabAddIns")。确保 id 是唯一的。

于 2013-08-22T02:40:40.627 回答