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を使用することにしました。

HTML5の構文チェックを行う「Validator.nu (X)HTML5 Validator」のWeb API前のページ

Windows 8 Consumer PreviewにClassic Shellをインストールしてみました。次のページ

関連記事

  1. Office関連

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

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

  2. Office関連

    オフィス祭り 2018 in 東京が9月15日(土)に開催されます。

    突然ですが、私はMicrosoft Officeが大好きです。20…

  3. VBScript

    Expression WebでVBScriptのコードを書いてみる。

    今日たまたま下記の記事を見つけました。10年近く前の古い記事です。…

  4. Office関連

    テキストボックス等Shapeオブジェクトのテキストのみを置換するWordマクロ

    Word MVPの新田さんのブログで気になる記事がありました。…

  5. VBScript

    Office文書を旧バージョンのファイル形式に変換するVBScript

    xlsxやdocxといった新しい形式のOffice文書をスクリプトファ…

コメント

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP