今月末に開催される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