『例えばホームタブにある「配置」グループの「右揃え」ボタンの後ろに独自のボタンを追加できますか?』とのご質問をいただきましたので、今回は久しぶりのリボン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>
ただ、アプリケーションのバージョンアップによって組み込みグループ内のコントロールが変わることもありますし、個人的には、ここまでするよりは組み込みグループは表示したままにし、その後ろに独自のグループを追加する程度の対応で良いのではないかと思います🙂
この記事へのコメントはありません。