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








