先日書いた「[Mayhem]PowerPointマクロにショートカットキーを割り当てる。」という記事に関連して、Excel MVPの伊藤さんが新しくマクロを公開されました。
“マクロを実行するダイアログ“で紹介しているマクロがそれで、ユーザーフォームからPowerPointマクロを実行するものです。
記事中で伊藤さんが述べられているように、私の上記記事で紹介している方法では、マクロごとにキーの割り当てをしなければならないため、マクロの数が多くなるとそれだけショートカットキーを覚えておかなければならないというデメリットがあるのですが、伊藤さんのマクロはユーザーフォーム(正確にはフォーム上のリストボックス)を経由することでそのデメリットを見事に解消しています。
この”ユーザーフォームというワンクッションをはさむ“という発想が素晴らしいですね!
早速真似させていただこうかと思います。
まずマクロを呼び出す方法ですが、Office 2007以降は「クイックアクセスツールバー」という、コマンドを呼び出すのに非常に便利なツールバーがありますので、今回はそれを使います。
クイックアクセスツールバーにマクロを呼び出すためのメニューを追加し、そのメニューからマクロを実行する、という方法です。
クイックアクセスツールバーにオリジナルメニューを追加するにはリボンをカスタマイズする必要がありますが、マクロを登録するごとにリボンをカスタマイズしなければならない、というのは非常に効率が悪いので、今回はその部分をアドイン化してユーザー作業の簡略化を図ります。
作成したアドインがこちら:CallProcAddin.ppam
このアドインファイルをPowerPointに登録すると、アドインと同じフォルダにあるテキストファイルからマクロ名を読み込み、クイックアクセスツールバーのメニューに追加することができます。
これにより、ユーザーは”テキストファイルに呼び出したいマクロ名を記述するだけ“で簡単にPowerPointマクロが実行できるようになります。
早速使い方を説明します。
- メニューから呼び出したいマクロを用意し、アドイン形式(ppa,ppam)で保存します。
- PowerPoint のオプション > アドイン > “PowerPoint アドイン”の設定 からアドインダイアログを表示します(PowerPoint 2010の場合)。
- 新規追加ボタンから1.のアドインファイルを追加し、アドイン名隣のチェックボックスがチェックされていることを確認します。
- 上記リンクから「CallProcAddin.zip」ファイルをダウンロードし、適当な場所に解凍します。
- 手順4.で出力された「CallProcAddin.ppam」ファイルと「macrodat.txt」ファイルをPowerPointのアドインフォルダ(下記参照)にコピーし、手順2.と3.を参考にPowerPointに登録します。
- 一度PowerPointを終了し、手順5.でコピーした「macrodat.txt」ファイルをメモ帳で開きます。
- 下記例のように「(アドイン名);(マクロの表示名);(マクロ名)」という形で、呼び出したいマクロが登録されたアドイン名と表示名、マクロ名を半角の「;」(セミコロン)で区切って入力し、ファイルを保存します。
※ 拡張子”ppa,ppam”以前にあるファイル名が後述のアドイン名になります(下記例では「TestAddIn」と「テストアドイン」がアドイン名です)。
・TestAddIn.ppam
Option Explicit Public Sub Macro1() MsgBox "TestAddIn:Macro1" End Sub Public Sub Macro2() MsgBox "TestAddIn:Macro2" End Sub Public Sub Macro3() MsgBox "TestAddIn:Macro3" End Sub Public Sub マクロ4() MsgBox "TestAddIn:マクロ4" End Sub Public Sub マクロ5() MsgBox "TestAddIn:マクロ5" End Sub Public Sub マクロ6() MsgBox "TestAddIn:マクロ6" End Sub
・テストアドイン.ppam
Option Explicit Public Sub Macro1() MsgBox "テストアドイン:Macro1" End Sub Public Sub Macro2() MsgBox "テストアドイン:Macro2" End Sub Public Sub Macro3() MsgBox "テストアドイン:Macro3" End Sub Public Sub マクロ4() MsgBox "テストアドイン:マクロ4" End Sub Public Sub マクロ5() MsgBox "テストアドイン:マクロ5" End Sub Public Sub マクロ6() MsgBox "テストアドイン:マクロ6" End Sub
以上で呼び出すマクロの準備は終了です。
XP:C:\Documents and Settings\(ユーザ名)\Application Data\Microsoft\AddIns
Vista , 7:C:\Users\(ユーザ名)\AppData\Roaming\Microsoft\AddIns
※ 上記「C:\」部分は環境によって異なる場合があります。
・(例)
TestAddIn;TestAddIn:Macro1;Macro1 TestAddIn;TestAddIn:Macro2;Macro2 TestAddIn;TestAddIn:Macro3;Macro3 TestAddIn;TestAddIn:マクロ4;マクロ4 TestAddIn;TestAddIn:マクロ5;マクロ5 TestAddIn;TestAddIn:マクロ6;マクロ6 テストアドイン;テストアドイン:Macro1;Macro1 テストアドイン;テストアドイン:Macro2;Macro2 テストアドイン;テストアドイン:Macro3;Macro3 テストアドイン;テストアドイン:マクロ4;マクロ4 テストアドイン;テストアドイン:マクロ5;マクロ5 テストアドイン;テストアドイン:マクロ6;マクロ6
以上で作業は終了です。
macrodat.txtファイル編集後PowerPointを起動すると、クイックアクセスツールバーに”マクロ呼出メニュー“が追加され、このメニューをクリックすることで任意のマクロを実行することができます。
クイックアクセスツールバーの利点は何と言ってもそのアクセスの良さ。
マウスクリックはもちろんですが、キーボード操作では、
・アクセスキー(Alt + 数字キー)を押してメニュー表示 → 各マクロに割り当てられた1から9までのショートカットキーを押してマクロ実行
という、非常に簡単な手順でマクロを呼び出すことができるわけです。
しかもメニュー内容の変更はテキストファイルを編集するだけ。
(※ テキストファイルの編集はPowerPointを終了した状態で行う必要があります。)
マクロを呼び出すためのマクロを編集する必要はありません。
PowerPointマクロを多用される方にはお薦めの当アドイン。
一度試してみてはいかがでしょうか?
※ PowerPoint 2003までは「[PowerPoint]形式を選択して貼り付けの簡単な呼び出し方法」のように、割合簡単にツールバーをカスタマイズすることができるため、今回は2007以降を対象にしました。
2014/10/24 追記:
アドインのコードを公開しました。
・「クイックアクセスツールバーからPowerPointマクロを実行するアドイン」のコード
//www.ka-net.org/blog/?p=5056
コードを見てみたいので「CallProcAddin.ppam」のpptmもダウンロード可能にしていただけないでしょうか?
> JPdotman様
当ブログ管理人のきぬあさです。
下記記事にてコードを公開しましたので、そちらをご参照いただければと思います。
・「クイックアクセスツールバーからPowerPointマクロを実行するアドイン」のコード
http://www.ka-net.org/blog/?p=5056
きぬあさ様、
非常に有意義な情報をありがとうございます。
1点、教えていただきたいことがあります。
現在のコードは、マクロを10個以上登録した際に、
ショートカットキーが「1」に戻る設定になっていると思いますが、
これを「01」や「10」のような一意のショートカットキーを割り当てたいと思っています。
この場合、上記で公開してくださっているコードをどのように変更すればよろしいでしょうか。
ご教授いただければ幸いです。
よろしくお願いいたします。