カスタム検索
リボン関連

クイックアクセスツールバーのボタンイメージを好きな画像にする

今回はクイックアクセスツールバーのボタンイメージを好きな画像にする方法を紹介します。

 

1. Officeファイルを開きます(今回はExcelファイル)。
2. 標準モジュールに下記コードを貼り付けて上書き保存した後、ファイルを閉じます。

Public Sub Ribbon_onLoad(ribbon As IRibbonUI)
  Call Application.Workbooks.Add.Close
End Sub

Public Sub MyButton_onAction(control As IRibbonControl)
  MsgBox "Hello, world!"
End Sub
3. Custom UI Editor Toolで2.のファイルを開きます。
4. ボタンイメージにしたい画像(16×16ピクセル位)を挿入し、IDを「MyImage」にします。
(画像の挿入方法は「リボンのボタンイメージを好きな画像にする」参照)
5. 下記コードを貼り付け、上書き保存します。
<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="Ribbon_onLoad" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="true">
    <!--TAB-->
    <tabs>
      <tab idMso="TabHome" visible="true" />
      <tab idMso="TabInsert" visible="true" />
      <tab idMso="TabPageLayoutExcel" visible="true" />
      <tab idMso="TabFormulas" visible="true" />
      <tab idMso="TabData" visible="true" />
      <tab idMso="TabReview" visible="true" />
      <tab idMso="TabView" visible="true" />
      <tab idMso="TabDeveloper" visible="true" />
    </tabs>
    
    <!--Office Menu-->
    <officeMenu>
      <splitButton idMso="FileSaveAsMenu" visible="true" />
      <splitButton idMso="FilePrintMenu" visible="true" />
      <menu idMso="FilePrepareMenu" visible="true" />
      <menu idMso="FileSendMenu" visible="true" />
      <menu idMso="MenuPublish" visible="true" />
      <button idMso="FileClose" visible="true" />
    </officeMenu>
    
    <!--Quick Access Toolbar-->
    <qat>
      <documentControls>
        <button id="MyButton" image="MyImage" onAction="MyButton_onAction" />
      </documentControls>
    </qat>
  </ribbon>
</customUI>

以上で作業は終了です。
5.で保存したファイルをマクロを有効にして開くと、クイックアクセスツールバーのボタンが4.で挿入したイメージになっていることが確認できます。

ボタンをクリックすると「MyButton_onAction」が実行され、メッセージボックスが表示されます。

※ 私が試した限りでは下記条件を満たすことで、クイックアクセスツールバーのボタンに好きなイメージを貼り付ける(「image」属性でイメージを指定する)ことができるようです。

  • 「ribbon」要素の「startFromScratch」属性を「true」にする。
  • 新規ドキュメントを作成して閉じる。
※ Excel以外のアプリケーションでも同様の方法でクイックアクセスツールバーのボタンイメージを指定することができますが、その場合はリボンXMLの一部(表示するタブやメニュー内容)とマクロ(ドキュメントを新規作成して閉じる部分)を変更する必要があります。

 

Sponsored Links

 

※ Office 2010の場合は新規ドキュメントを作成する必要はなく、startFromScratch属性をtrueにするだけでアイコン画像が反映されます。

<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="true">
    <qat>
      <documentControls>
        <button id="btnQAT" label="QAT Button" image="IMG" />
      </documentControls>
    </qat>
  </ribbon>
</customUI>