Office関連

[Mayhem]PowerPointマクロにショートカットキーを割り当てる。

2012/4/20 追記:クイックアクセスツールバーのメニューを利用する方法に関しての記事も追加しました。

Excel MVPの伊藤さんがご自身のサイト「インストラクターのネタ帳」で”文字のサイズを1ポイント大きくするマクロ“や”行間を1ポイント広くするマクロ“等のPowerPointマクロを紹介されているのを見て、”こういったマクロはホットキー(ショートカットキー)から実行するのが便利なのではないか?“と思い、処理を考えてみました。

VBAマクロをショートカットキーから実行する方法としてすぐに思いつくのはマクロのオプションからキーを割り当てる方法OnKeyメソッドでキーを割り当てる方法ですが、PowerPointにはどちらも用意されていません。

Using OfficeOne Shortcut Manager in Microsoft PowerPoint 2007」でも紹介されている「Shortcut Manager for PowerPoint」を使えばPowerPointでもキーの割り当てを行うことができますが、このツールは有料かつ海外製であるため、若干使いづらいところがあります。
(もちろんAPI関数を使えばShortcut Managerで行っているような処理をマクロから実行することができるのですが、こちらも手間が掛かります。)

そこで今回は当ブログでもさんざん紹介している「Mayhem」を使った処理を考えてみます。

  1. ショートカットキーから実行したいマクロを用意し、アドイン形式(ppa,ppam)で保存します(今回はサンプルとして、下記のコードを「SampleAddIn.ppam」として保存しました)。
  2. Option Explicit
    
    Public Sub Macro1()
      MsgBox "Macro1"
    End Sub
    
    Public Sub Macro2()
      MsgBox "Macro2"
    End Sub
    
    Public Sub Macro3()
      MsgBox "Macro3"
    End Sub
  3. PowerPoint のオプション > アドイン > “PowerPoint アドイン”の設定 からアドインダイアログを表示します(PowerPoint 2010の場合)。
  4. 新規追加ボタンから1.のアドインファイルを追加し、アドイン名隣のチェックボックスがチェックされていることを確認します。
  5. 以上でPowerPoint側の準備は終了です。

  6. 下記コードをメモ帳に貼り付け、vbsファイルとして保存します(今回はサンプルとして、「C:\Test\CallPowerPointMacro.vbs」として保存しました)。
  7. Option Explicit
    
    Dim Args
    Dim AddInName
    Dim MacroName
    Dim AppPP
    
    Set Args = WScript.Arguments
    If Args.Count < 2 Then WScript.Quit
    AddInName = Args(0)
    MacroName = Args(1)
    Set Args = Nothing
    
    On Error Resume Next
    Set AppPP = GetObject(, "PowerPoint.Application")
    If Not AppPP Is Nothing Then
      If AppPP.AddIns(AddInName).Loaded = -1 Then
        AppPP.Run AddInName & "!" & MacroName
      End If
      Set AppPP = Nothing
    End If
    On Error GoTo 0
  8. Mayhemを起動し、「Choose Event」から「Key Press」を選択して「Choose」ボタンをクリックします。
  9. Please enter a combination of keys which will activate this event.“というメッセージが表示されたら、マクロを実行したいショートカットキーを押して、「Save」ボタンをクリックします(設定するショートカットキーはPowerPointで標準で設定されているショートカットキーとは重ならないものをお薦めします。PowerPoint 2003 ショートカットキープレゼンテーションの作成時に PowerPoint 2010 で使用するショートカット キーPowerPoint 2010 でプレゼンテーションを発表するときに使用するショートカット キー 参照)。
  10. Choose Reaction」から「Run Program」を選択して「Choose」ボタンをクリックします。
  11. Run Programダイアログが表示されたら、「File:」欄には4.で保存したvbsファイルを、「Arguments:」欄にはショートカットキーから実行したいマクロを「アドイン名(半角スペース)マクロ名」という形で入力し、「Save」ボタンをクリックします。
  12. Mayhemの初期画面に戻ったら、スイッチを「ON」にして5.~8.で追加したイベントを有効にします。

以上で作業は終了です。
以降、Mayhemが起動している間は6.で設定したキーを押すことで8.で設定したマクロを実行することができます。

ホットキーの割り当てはMayhemでなくてもできることですが、Mayhemはホットキーの割り当て以外にも様々なことができるツールなので、今回はMayhemを使用することにしました。

関連記事

  1. Office関連

    「Excel VBAでIEを思いのままに操作できるプログラミング術」の見本誌をいただきました。

    「VBAアクションゲーム?Excel(エクセル)で動かそう!」で有名な…

  2. Office アドイン

    office-toolboxを使って簡単にOffice アドインを作成する方法

    以前「YO OFFICE」を使ってOffice アドインのひな型を作成…

  3. Windows 10

    Microsoft Edgeを操作するVBScript

    「Microsoft Edgeを操作するVBAマクロ(WebDrive…

  4. Office関連

    ポータブル デバイスからファイルをコピーするVBAマクロ

    mougにあった質問関連のメモです。ポータブル デバイスか…

コメント

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP