Office関連

[PowerPoint]ドキュメントを開いたときに自動的にマクロを実行する

ドキュメントを開いたときに自動的にマクロを実行する方法として、WordにはAutoOpen、ExcelにはAuto_Openといったプロシージャを利用する方法が用意されていますが、PowerPointにはそういった方法は無いのでしょうか?

― 実はPowerPointにもマクロ自動実行の仕組みは用意されています。
下記コードを標準モジュールに貼り付けてファイルを保存し、再度ファイルを開くと…

Option Explicit

Public Sub Auto_Open()
  MsgBox "Auto_Open"
End Sub

Public Sub Auto_Close()
  MsgBox "Auto_Close"
End Sub

…何も動作しません。
WordやExcelと違ってPowerPointの”Auto_Open”はアドインとして読み込まなければ実行されません。

改めて、ファイルをアドイン形式(ppa,ppam)で保存し、アドインダイアログから保存したアドインを読み込むと…

今度はマクロが実行されました。
下記Webページにもあるように、Auto_Openプロシージャはアドインが読み込まれたときに、Auto_Closeプロシージャは読み込みが解除されたときに自動的に実行されます。

・PowerPoint アドインがロードまたはアンロードされているときにコードを自動的に実行する
http://msdn.microsoft.com/ja-jp/library/cc376820.aspx

上記のように、アドイン形式にすればアプリケーションを起動したとき(アドインが読み込まれたとき)にマクロを自動実行することができるわけですが、正直使い勝手は良くありません。

そこで私は、”リボンをカスタマイズしてcustomUI要素のonLoad属性のコールバックを利用する方法“をお薦めします。

※ リボンのカスタマイズ方法はここでは詳しく解説しませんので、私のHP「初心者備忘録・リボン関連」をご参照ください。

・XML

<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="Ribbon_onLoad" xmlns="http://schemas.microsoft.com/office/2006/01/customui" />

・標準モジュール

Option Explicit

Public Sub Ribbon_onLoad(ribbon As IRibbonUI)
  MsgBox "Ribbon_onLoad"
End Sub

上記XMLとVBAコードを設定したファイルを開くと、Ribbon_onLoadプロシージャが自動的に実行されるのが確認できます。

PowerPointのバージョンが2007以降に限られてしまうのが難点ですが、この方法であればいちいちアドイン形式で保存する必要は無いので動作確認も楽になります。
もちろん、アドインとして読み込んだ場合にも実行されます。

リボンをカスタマイズする、という一手間は掛かってしまいますが、PowerPointドキュメントを開いたときにマクロを自動実行したい、という場合には非常に有用な方法ですので、是非一度お試しください。

“元に戻す”履歴に文字列をセットするPowerPointマクロ前のページ

[PowerPoint]Applicationオブジェクトのイベントを利用する次のページ

関連記事

  1. Office関連

    Presentation Translatorが公開されました。

    下記記事で紹介している「Microsoft Translator アド…

  2. Office関連

    「データ追跡機能付きテンプレート ウィザード」のダウンロード先

    ※ 下記に紹介する方法はOfficeのサービスパックからデータ追跡機能…

  3. Office関連

    [Excel Services ECMAScript]ループによる入力と一括入力の処理時間について

    埋め込んだExcelワークブックのセルに対して、ループで1セルずつ入力…

  4. Office Scripts

    Office Scripts機能によってWeb版Officeの操作を自動化する

    前回、Ignite 2019で発表されたPower Automate(…

  5. Office関連

    パスワード付のPDFファイルを作成するExcelマクロ

    2019/8/16 追記:WordやPowerPointにも対応し…

  6. アイコン一覧

    Office 365アイコン(imageMso)一覧(O)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

コメント

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP