Excelアドイン(マクロ)をリボンに登録(ExcelVBA)
概要
Excelアドイン(マクロ)をリボンに登録し、
どのExcelファイルを開いていても、リボンからマクロを実行可能にする
作成した理由
毎日毎日、大量のExcelファイルの編集を行う仕事をしていると、
「自分専用の便利なマクロ達」が蓄積されていくと思います。
便利なマクロ達を登録している
「便利なマクロ.xlsm」等をバックグラウンドで開いてマクロを使っておりましたが…
マクロ実行時に「ファイル名.xlsm!マクロ名」と表示される為、
次第に「どのマクロを実行するのか」を目視で探すのが億劫になっていきました。
私(開発者)が使用する分には
「ショートカットでマクロ実行」とすれば問題なかったのですが、
マクロ配布時に
「どのマクロがどのショートカットかなんて、いちいち覚えるの怠いんですけど???」
と我儘ご要望を頂いた為、↓記事を参考に作成致しました。
サンプルのリボン_実装手順&解説
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」モジュールに下記コードを追加し、上書き保存する
1 2 3 4 5 6 7 8 9 | Option Explicit '概要:Excelリボンからマクロ呼び出し '実装方法:下記プロシージャをリボンからマクロを呼び出したい処理だけ記述する Sub Call_マクロ名(ByVal control As IRibbonControl) Call マクロ名 End Sub |
下記画像のように、
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 新規作成