リボン関連

クイックアクセスツールバーからPowerPointマクロを実行するアドインの紹介

先日書いた「[Mayhem]PowerPointマクロにショートカットキーを割り当てる。」という記事に関連して、Excel MVPの伊藤さんが新しくマクロを公開されました。

マクロを実行するダイアログ“で紹介しているマクロがそれで、ユーザーフォームからPowerPointマクロを実行するものです。

記事中で伊藤さんが述べられているように、私の上記記事で紹介している方法では、マクロごとにキーの割り当てをしなければならないため、マクロの数が多くなるとそれだけショートカットキーを覚えておかなければならないというデメリットがあるのですが、伊藤さんのマクロはユーザーフォーム(正確にはフォーム上のリストボックス)を経由することでそのデメリットを見事に解消しています。

この”ユーザーフォームというワンクッションをはさむ“という発想が素晴らしいですね!
早速真似させていただこうかと思います。


まずマクロを呼び出す方法ですが、Office 2007以降は「クイックアクセスツールバー」という、コマンドを呼び出すのに非常に便利なツールバーがありますので、今回はそれを使います。
クイックアクセスツールバーにマクロを呼び出すためのメニューを追加し、そのメニューからマクロを実行する、という方法です。

クイックアクセスツールバーにオリジナルメニューを追加するにはリボンをカスタマイズする必要がありますが、マクロを登録するごとにリボンをカスタマイズしなければならない、というのは非常に効率が悪いので、今回はその部分をアドイン化してユーザー作業の簡略化を図ります。

作成したアドインがこちら:CallProcAddin.ppam

このアドインファイルをPowerPointに登録すると、アドインと同じフォルダにあるテキストファイルからマクロ名を読み込み、クイックアクセスツールバーのメニューに追加することができます。

これにより、ユーザーは”テキストファイルに呼び出したいマクロ名を記述するだけ“で簡単にPowerPointマクロが実行できるようになります。

早速使い方を説明します。

  1. メニューから呼び出したいマクロを用意し、アドイン形式(ppa,ppam)で保存します。
  2. ※ 拡張子”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
  3. PowerPoint のオプション > アドイン > “PowerPoint アドイン”の設定 からアドインダイアログを表示します(PowerPoint 2010の場合)。
  4. 新規追加ボタンから1.のアドインファイルを追加し、アドイン名隣のチェックボックスがチェックされていることを確認します。
  5. 以上で呼び出すマクロの準備は終了です。

  6. 上記リンクから「CallProcAddin.zip」ファイルをダウンロードし、適当な場所に解凍します。
  7. 手順4.で出力された「CallProcAddin.ppam」ファイルと「macrodat.txt」ファイルをPowerPointのアドインフォルダ(下記参照)にコピーし、手順2.と3.を参考にPowerPointに登録します。
  8. XP:C:\Documents and Settings\(ユーザ名)\Application Data\Microsoft\AddIns
    Vista , 7:C:\Users\(ユーザ名)\AppData\Roaming\Microsoft\AddIns

    ※ 上記「C:\」部分は環境によって異なる場合があります。

  9. 一度PowerPointを終了し、手順5.でコピーした「macrodat.txt」ファイルをメモ帳で開きます。
  10. 下記例のように「(アドイン名);(マクロの表示名);(マクロ名)」という形で、呼び出したいマクロが登録されたアドイン名と表示名、マクロ名を半角の「;」(セミコロン)で区切って入力し、ファイルを保存します。
  11. ・(例)

    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

コメント

    • JPdotman
    • 2014年 10月 23日

    コードを見てみたいので「CallProcAddin.ppam」のpptmもダウンロード可能にしていただけないでしょうか?

    • > JPdotman様

      当ブログ管理人のきぬあさです。
      下記記事にてコードを公開しましたので、そちらをご参照いただければと思います。

      ・「クイックアクセスツールバーからPowerPointマクロを実行するアドイン」のコード
      http://www.ka-net.org/blog/?p=5056

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP