エクセルのアドインファイルにおいて、クイックアクセスツールバー(QAT)にリボンと同じアイコンを実装しようとしたところ、思いの外苦労することになりました。
まず、「Office RibbonX Editor」を使って、リボンと一緒にQATもXMLコード(<qat>タグ)で記述しようとしました。しかし、XMLの構文通りに記述しても、私の環境ではクイックアクセスツールバーにボタンが表示されませんでした。
そこで、Excel標準の「ユーザー設定」でQATを設定し、リボンとは別に管理しようとしました。しかし、ユーザー設定で選べるアイコンの imageMso が不明なため、リボン側のアイコンをQATに合わせることができません。このままでは、リボンとQATのアイコンが違ったものになってしまいます。
試行錯誤した結果、リボンを設定した後に次の手順を行えば、リボンと同じアイコンをQATに設定することができることが分かりました。
手順1. VBEでアドインを見える状態にする
- 「Office RibbonX Editor」を使ってリボンを設定したアドインファイル(.xlam)を開きます。
- Alt + F11 キーを押して、VBE(Visual Basic Editor)を開きます。
- プロジェクトエクスプローラーで
ThisWorkbookを選択します。 - プロパティウィンドウ(表示されていない場合はF4キー)を確認します。
IsAddinプロパティをTrueからFalseに変更すると、隠れていたアドインのワークシートがExcel上に表示されます。
手順2. ExcelのオプションからQATを設定する
- Excelの画面に戻り、「ファイル」タブ > 「オプション」 をクリックします。
- 「クイック アクセス ツールバー」 を選択します。
- 画面右上のドロップダウンリスト(ユーザー設定の適用先)を、「すべてのドキュメント」から「[現在のアドインファイル名] に適用」に変更します。
- 画面左上の「コマンドの選択」から、リボンに登録したタブ(例:[VA] タブ)を選択します。
- 追加したいボタンを選択し、中央の [追加 >>] ボタンを押すと、XMLで定義した
imageMso(リッチなアイコン)がそのまま維持されて登録されます。 - [OK] を押して画面を閉じます。
手順3. アドイン状態に戻して保存する
- 再びVBEに戻ります。
ThisWorkbookのIsAddinプロパティをFalseからTrueに戻すと、再びブックが非表示(アドイン状態)になります。- VBEの画面で 上書き保存(Ctrl + S)を行います。
この方法のメリット
- Macユーザーはリボンから、Windowsユーザーはリボンに加えてQATからアドインを操作できるようになります。
- XMLで定義したリボンのボタンをQATに登録しているため、アイコンのデザインが統一され、直感的に操作できます。
参考:リボン定義XMLの一例
(QATの記述は不要です。)
<customUI xmlns="[http://schemas.microsoft.com/office/2009/07/customui](http://schemas.microsoft.com/office/2009/07/customui)">
<ribbon>
<tabs>
<tab id="tabVA" label="VA">
<group id="grpVABridge" label="VAブリッジ">
<button id="btnLoad"
label="データ取込"
imageMso="ShapeDownArrow"
size="large"
onAction="OnRibbonLoadFromDB" />
<button id="btnConfig"
label="設定"
imageMso="DatabasePermissions"
size="large"
onAction="OnRibbonShowConfig" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>

コメント