idQ
行くのが正しい方法です。この属性を使用すると、修飾された ID、つまり名前空間内の ID を指定できます。などの一部の名前空間mso
が組み込まれていますが、カスタムの名前空間を指定することもできます。
重要なのは、拡張しようとしているサード パーティのアドイン内で宣言されている名前空間と一致xmlns:foo="bar"
する要素内の属性が必要であるということです。customUI
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>
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 自体以外では十分に文書化されていません。