「Office Ribbon Editor 」を使って、リボンUIにマクロ実行ボタン追加


はじめに

  • 現状:マクロを複数作りましたが、マクロファイルばかり増殖して未活用でした。作成したマクロファイルを探して開いて実行するのが億劫で、結局マクロを使わず作業を始めてました。
  • 問題点:しかし、作業の生産性がやっぱり悪いです。なんとかしたい。
  • 解決策:そこで、リボンUIカスタマイズソフトを利用して、マクロ実行ボタンを作成しました。

完成イメージ

動作環境

  • Windows10
  • Office365 or Office2010

リボンUIのカスタマイズソフト

カスタマイズソフトは2種類あります。インストール方法はリンク先を参照願います。サポート終了していますが、私は1のOffice Ribbon Editorを利用中

  1. Office Ribbon Editor →インストール方法(サポート終了)
  2. Custom UI Editor Tool →インストール方法と使い方

リボンUI側の作成例

  • リボンUIはXMLベースで作れます。
  • カスタマイズソフトでは、雛形を自動作成してくれます。あとは、自分好みにカスタマイズ
  • 各buttonの「onAction=」後の""内に、実行したいマクロのプロシージャ名を入力します。(例:google)
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="ad" label="myHome00.85">
                <group id="web" label="link">
                    <button id="web_link" label="google" 
                    imageMso="G" size="normal" onAction="google" />
                    <button id="web_uni" label="Unicode" 
                    imageMso="U" size="normal" onAction="The Unicode Consortium" /> 
                </group>

                <group id="sagyo" label="作業">               
                    <button id="haba_size" label="行列幅自動調整" 
                    imageMso="G" size="normal" onAction="行列幅自動調整" />
                    <button id="half_size" label="英数仮名→半角" 
                    imageMso="S" size="normal" onAction="英数仮名→半角" />
                    <button id="uni_do" label="unicode表処理" 
                    imageMso="S" size="normal" onAction="unicode表処理" />       
                </group>
<!--省略-->
            </tab>
        </tabs>
    </ribbon>
</customUI>

VBA側の作成例

  • プロシージャ名「google」後の括弧( )内は「control As IRibbonControl」と入力します。(お約束)
  • 以下は、ボタンを押すとIEでGoogle検索サイトを開くマクロ例です。
Option Explicit
Sub google(control As IRibbonControl)
    Dim objIE As Object
    Set objIE = CreateObject("InternetExplorer.Application")  
    objIE.Visible = True
    objIE.Navigate ("https://www.google.co.jp/")
End Sub

動作確認


※開きました。

補足

  • カスタマイズソフトを利用しなくても、自作で作成可能のようですが、ちょっと大変。