【PowerPoint VBA】アドインをインストールするPowerPointマクロ

2017年11月14日

今月末に開催されるJTF翻訳祭(【セミナー案内】2017/11/29(水)東京 日本翻訳連盟(JTF)翻訳祭 )の準備でPowerPointやExcelのアドインを作成しています。

Wordのアドインと同じようなものだと予想していたのですが、意外と相違点がありました。

PowerPointのアドインについては情報があまりないのでメモをしておきます。

このマクロでできること

アドインテンプレートファイルをインストールして利用可能な状態にします。PowerPointを再度起動した場合にも使えます。

こちらの記事(【PowerPoint】アドインをインストールする方法 )の操作を自動化しています。

マクロ実行前

マクロ実行後

マクロの解説

【PowerPoint】アドインをインストールする方法 の記事のアドインテンプレートをインストールします。AddinTemplate.ppam というアドインテンプレートが、Addinsフォルダに保存されています。

9行目で[アドイン]ダイアログボックスの一覧にアドイン名を表示させます。

AddIns.Add myTemplatePath 'アドインテンプレートのパス

14行目で、項目を選択してチェックボックスをオンにします。

WordやExcelはInstalled プロパティを使いますが、PowerPointではLoaded プロパティを使います。

AddIns("AddinTemplate").Loaded = True

サンプルコードでは、上記のようにアドイン名の「AddinTemplate」と表記していますが、ここにアドインテンプレートのパスを入力してもいいです。

AddIns(myTemplatePath).Loaded = True

AddInsというアドインテンプレートのコレクション内で特定の1つのアドインテンプレートを指定するからです。

Wordでいうところの現在開かれているファイルから特定の1つのファイルを特定するときにDocuments(ファイルパス) という場合と同じ考え方です。

でも、これだけでは終わりません。さらにもう一つ作業が必要です。16行目の記述です。

AddIns("AddinTemplate").AutoLoad = True

このAutoLoad プロパティをオンにしておかないと、次回PowerPointを立ち上げたときには一覧にもアドイン名が表示されません。

16行目がない場合には、次回PowerPointを立ち上げたときに以下のような状態に戻ってしまいます(つまりアドインの再インストールが必要になります)のでご注意を。

マクロ


Sub アドインをインストール()

 Dim myTemplatePath As String
 
 'アドインテンプレートファイルのパス
 myTemplatePath = "C:\Users\ユーザー名\AppData\Roaming\Microsoft\AddIns\AddinTemplate.ppam"

 'アドインを追加 → 一覧に表示されます
 AddIns.Add myTemplatePath
 
 'アドインを設定
 With AddIns("AddinTemplate")
  'インストール → 一覧でチェックがオンになる
  .Loaded = True
  '次回PowerPointを開いたときにも自動的にインストールされる
  .AutoLoad = True
 End With
 
End Sub

-コード
-, ,