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関連

    「最速攻略 Wordマクロ/VBA徹底入門」レビュー

    いつもお世話になっているExcel MVPの伊藤さんに9月20日発売予…

  2. Windows 10

    Microsoft Edgeを起動するVBScript

    前回の記事の関連ですが、下記コードのようにShellExecuteメソ…

  3. Office アドイン

    [Officeアドイン]組み込みのワークシート関数を呼び出す方法

    下記記事でOffice アドインから独自のユーザー関数を呼び出す方法を…

  4. Office関連

    [VBA]ファイルタブ(Backstage ビュー)の表示を禁止する。

    数年前ホームページで「ファイルタブボタンのクリックを禁止する(Offi…

  5. Office関連

    [Excel Services ECMAScript]アクティブなシート名を取得する。

    埋め込んだExcelワークブックのアクティブなシート名を取得するコード…

  6. Office関連

    Office製品のフィードバック先まとめ

    WordやExcel等のOffice製品を使っていて、「UIのこの日本…

コメント

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP