5

新しいグループを既存の (サード パーティの) カスタム リボン タブ アドインに追加するにはどうすればよいですか? Tabs idMSo 値を指定することですぐに使用できるリボンに追加できることはわかっていますが、カスタム リボン タブに対してそれを行うにはどうすればよいですか。カスタム リボンの ID 値を既に試しましたが、リボンが重複していますか? また、必要なカスタム タブ ID を渡す idMso 属性と idQ 属性を試しましたが、成功しませんでした。

カスタム タブではなく、idMso 値を指定することで、すぐに使えるタブ グループに追加できます。

よろしく

4

2 に答える 2

6

idQ行くのが正しい方法です。この属性を使用すると、修飾された ID、つまり名前空間内の ID を指定できます。などの一部の名前空間msoが組み込まれていますが、カスタムの名前空間を指定することもできます。

重要なのは、拡張しようとしているサード パーティのアドイン内で宣言されている名前空間と一致xmlns:foo="bar"する要素内の属性が必要であるということです。customUIcustomUI

たとえば、次のサード パーティ アドインの 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新しいアドインでa を定義し、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>

これにより、1 つのカスタム タブに 2 つのグループが作成されます。同じアプローチを使用して、グループやその他のコンテナー コントロールを拡張できます。

これは、 Office 2010 のリボン UI XSDを注意深く調べて学んだことです。残念ながら、XSD 自体以外では十分に文書化されていません。

于 2011-05-03T20:32:27.620 に答える
0

単語のリボンは少し奇妙です。基本的に、Word は GetCustomUI を介して、含めたいカスタム UI、Ribbom 宣言、舞台裏などを一度に追加するように求めます。

そして、それはあなたが持っている唯一のチャンスです。カスタム UI 要素の XML を伝えた後は、ボタンを動的に追加することはできません。ただし、要素をリボンに動的に追加しているように見せるために、非表示の要素を再表示することはできます。

サード パーティのリボンに関する問題は、Word が既にサード パーティのアプリからカスタム UI を取得しているため、サード パーティが独自のリボンにボタンを動的に追加する場合と同じ問題に遭遇する可能性があります。

Word は「組み込み」リボンにボタンを追加できるようにするために追加の手順を実行していると思いますが、私の知る限り、それはカスタム リボンには適用されません。

于 2011-04-08T20:53:58.357 に答える