『例えばホームタブにある「配置」グループの「右揃え」ボタンの後ろに独自のボタンを追加できますか?』とのご質問をいただきましたので、今回は久しぶりのリボンUIネタです。
最初に結論から言ってしまうと、残念ながらできません。
これはオプションの「詳細設定」にある「アドイン ユーザー インターフェイスに関するエラーを表示する」オプションをオンにした状態で、下記XMLのような組み込みグループ(GroupAlignmentExcel)に独自のコントロールを追加したファイルを開いてみるとすぐに確認できます。
<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab idMso="TabHome">
<group idMso="GroupAlignmentExcel">
<button id="btnSample" label="Sample Button" size="normal" imageMso="HappyFace" onAction="btnSample_onAction" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
「組み込みのグループにはコントロールを追加できません」というエラーメッセージが表示されます。
ではどうすれば良いのか?
解決策としては、下記XMLのように組み込みグループを非表示にした上で独自のグループを追加し、その中に組み込みコントロールと独自コントロールを手動で追加する方法があります。
<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab idMso="TabHome">
<group idMso="GroupAlignmentExcel" visible="false" />
<group id="grpCustomAlignmentExcel" label="配置" insertAfterMso="GroupAlignmentExcel">
<!-- 組み込みコントロールを手動で追加 -->
<buttonGroup id="bgrpCustomAlignExcel">
<control idMso="AlignTopExcel" />
<control idMso="AlignMiddleExcel" />
<control idMso="AlignBottomExcel" />
</buttonGroup>
<!-- 独自コントロールを追加 -->
<button id="btnSample" label="Sample Button" size="normal" imageMso="HappyFace" onAction="btnSample_onAction" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
ただ、アプリケーションのバージョンアップによって組み込みグループ内のコントロールが変わることもありますし、個人的には、ここまでするよりは組み込みグループは表示したままにし、その後ろに独自のグループを追加する程度の対応で良いのではないかと思います🙂

















この記事へのコメントはありません。