Excelアドイン(マクロ)をリボンに登録(ExcelVBA)

概要

Excelアドイン(マクロ)をリボンに登録し、
どのExcelファイルを開いていても、リボンからマクロを実行可能にする

「おはようございます」ボタンをクリックするとmsgboxが表示される

作成した理由

毎日毎日、大量のExcelファイルの編集を行う仕事をしていると、
「自分専用の便利なマクロ達」が蓄積されていくと思います。

便利なマクロ達を登録している
「便利なマクロ.xlsm」等をバックグラウンドで開いてマクロを使っておりましたが…

マクロ実行時に「ファイル名.xlsm!マクロ名」と表示される為、
次第に「どのマクロを実行するのか」を目視で探すのが億劫になっていきました。

私(開発者)が使用する分には
「ショートカットでマクロ実行」とすれば問題なかったのですが、

マクロ配布時に
「どのマクロがどのショートカットかなんて、いちいち覚えるの怠いんですけど???」
我儘ご要望を頂いた為、↓記事を参考に作成致しました。

https://officeforest.org/wp/2018/05/13/excel%E3%81%A8access%E3%81%AB%E7%8B%AC%E8%87%AA%E3%81%AE%E3%83%AA%E3%83%9C%E3%83%B3%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B/

サンプルのリボン_実装手順&解説

1、リボンに登録したい「●●.xlsm」を「xlam」形式で保存する
※本記事では「挨拶.xlsm」をアドイン化

2、リボンに登録したい「●●.xlsm」を「xlam」形式で保存する
※下記に保存されていればOK

◆アドイン格納パス
%HOMEDRIVE%\Users\%Username%\AppData\Roaming\Microsoft\AddIns

3、上記アドイン格納パスに「●●.xlam」が格納されていない場合は、
「●●.xlam」ファイルを上記アドイン格納パスに移動させる

4、「●●.xlam」を「●●.xlam.zip」と拡張子を付け足す

5、「●●.xlam.zip」を右クリック→「プログラムから開く」→「エクスプローラー」をクリック

6、「●●.xlam.zip」フォルダ内を全て削除

7、下記「アドインフォルダ構成」をダウンロードし、zipファイルを解凍する

8、解凍した「アドインフォルダ構成」内を全て、「●●.xlam.zip」フォルダ内にコピーする

9、「●●.xlam.zip」を「●●.xlam」に戻す

10、「Excelアドイン」から「●●.xlam」を参照設定する
※本記事では「挨拶.xlsm」をアドイン化している為「挨拶」を参照

11、サンプルリボンが表示されている事を確認

Excelアドイン_リボンからマクロ呼び出し処理作成

1、「●●.xlam」の「Module1」モジュールに下記コードを追加し、上書き保存する

下記画像のように、
Call_マクロ名
Call マクロ名
となるように紐づける事。
※引数「ByVal control As IRibbonControl」は変更しない事

2、「●●.xlam」を上書き保存し、Excelファイルを全て閉じる

リボン_修正手順&解説

1、「●●.xlam」を「●●.xlam.zip」と拡張子を付け足す

2、「●●.xlam.zip」を右クリック→「プログラムから開く」→「エクスプローラー」をクリック

3、「customUI」フォルダ内「customUI.xml」を適当な別フォルダにコピーする

4、コピーした「customUI.xml」をメモ帳で開く
※「Visual Studio Code」で開くと下記画像のように視覚的に分かりやすいのでおススメ

5、コピーした「customUI.xml」を下記画像の結びつき先を見ながら修正する

※サンプルリボン

◆注意点
各パーツ類のidは重複させない事。
※コピペ時に重複してしまいがちなので注意

◆解説
<tab id=”TabA” label=”TabA“>
→リボンのタブ表示名を記載

<group id=”GroupA” label=”GroupA“>
→グループ名を記載

<button id=”ButtonA” imageMso=”ListMacros” size=”large” label=”ButtonA” onAction=”マクロ名”/>
→ボタン名を記載

<button id=”ButtonA” imageMso=”ListMacros” size=”large” label=”ButtonA” onAction=”マクロ名“/>
→実行マクロ名「Call_●●」を記載

<button id=”ButtonA” imageMso=”ListMacros” size=”large” label=”ButtonA” onAction=”マクロ名”/>
→「Office 365アイコン(imageMso)一覧」サイトを参考に、表示したいアイコン名を記載
※特に拘りがなければ「ListMacros」固定でOK

※「挨拶」リボン設定後

6、修正後「customUI.xml」を
「●●.xlam.zip」「customUI」フォルダ内「customUI.xml」に上書きする

7、「●●.xlam.zip」を「●●.xlam」に戻す

8、適当なExcelファイルを開き、リボンに登録されているマクロが実行可能な事を確認し、導入完了!

※「customUI.xml」の設定が正しくない場合はリボンに表示されないので注意!

サンプル_挨拶アドイン_導入方法

上記手順で上手く導入出来なかった方は
下記からサンプルアドインをダウンロードして下さい。

下記リンクから「挨拶.xlam」をダウンロードする

ダウンロードしたツールのプロパティを開く

「セキュリティ」の「許可する」にチェックし、
「適応」「OK」ボタンを押す

この作業を行う事でツールが動くようになります。

編集履歴

2022/04/04 新規作成

関連記事一覧

PAGE TOP