パワポの【疑問】を解決!「よくあるご質問」はこちら ▶︎
スポンサーリンク
スポンサーリンク

PowerPointでマクロをアドイン化しリボンに追加する方法

PowerPointで複数のマクロをまとめてアドイン化し、リボンにマクロの実行ボタンを追加する方法をご紹介します。

タブの切り替えでカスタムメニューを呼び出すことができ、別ファイルにも共有ができるパワポ史上最強の便利ツールです。

スポンサーリンク

カスタムメニューを作成する

まず始めに、カスタムメニューに登録したいマクロを一つのファイルにまとめます。

マクロをエクスポートする

カスタムメニューに登録したい「pptm」ファイルを開き、「Alt + F11」キーで「Visual Basic Editor」を開きます。

「プロパティ」ウィンドウの「オブジェクト名」から固有の名前に変更します。

「プロジェクト」ウィンドウで右クリックし、メニューから「ファイルのエクスポート」を選択して「bas」ファイルで書き出します。

上記の流れでカスタムメニューに登録したい全てのマクロを「bas」ファイルに書き出します。

マクロをインポートする

新規ファイル「Menu.pptm」を作成し、「Visual Basic Editor」を開きます。

「プロジェクト」ウィンドウで右クリックし、メニューから「ファイルのインポート」を選択し、書き出した「bas」ファイルを全て読み込みます。

最後に保存してマクロの登録の完了です。

カスタムメニューファイルを作成する

カスタムメニューファイルを作成して、リボンに表示させるボタンの順番や配置を構成しましょう。

カスタムメニューの構成をxmlファイルで作成する

xmlファイルでタブに表示するカスタムメニューの構成を作成します。

メモ帳を開き以下のコードを追加しましょう。

登録したマクロの数に合わせてボタンの数を調整し、「マクロ名」に前項で登録したマクロ名を割り当てます。「タブ名」「グループ名」「ボタン名」にはお好みの名前をつけてください。

<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="MyTab1" label="タブ名">
<group id="Group1" label="グループ名1"> <button id="Button1-1" label="ボタン名1" imageMso="MacroPlay" size="normal" onAction="マクロ名1" /> <button id="Button1-2" label="ボタン名2" imageMso="MacroPlay" size="normal" onAction="マクロ名2" /> <button id="Button1-3" label="ボタン名3" imageMso="MacroPlay" size="normal" onAction="マクロ名3" /> </group>
<group id="Group2" label="グループ名2"> <button id="Button2-1" label="ボタン名4" imageMso="MacroPlay" size="normal" onAction="マクロ名4" /> <button id="Button2-2" label="ボタン名5" imageMso="MacroPlay" size="normal" onAction="マクロ名5" /> <button id="Button2-3" label="ボタン名6" imageMso="MacroPlay" size="normal" onAction="マクロ名6" /> </group>
</tab> </tabs> </ribbon> </customUI>

上記のコードでタブを表示させると次のようなカスタムメニューが表示されるのでご参考にしてください。ボタンをグループで分けると境界線が入るので見やすくなります。

ボタンのアイコンを変更する

ボタンの左側に表示されるアイコンを変更することができます。

コード「imageMso=”MacroPlay”」の「MacroPlay」の部分がアイコン名になります。

アイコン選びは、初心者備忘録様の「Office 365アイコン(imageMso)一覧(O)」を参考に設定しましょう。

保存する

構成が整ったらファイル名「customUI.xml」で保存します。文字コードは「UFT-8」を選択してください。

保存ができたら、「customUI」フォルダを作成して「customUI.xml」を格納します。

スポンサーリンク

PowerPointファイルにカスタムメニューを組み込む

PowerPointファイルの内部の構造を編集し、カスタムメニューが表示されるように設定します。

PowerPointファイルをzipファイルに変換する

「Menu.pptm」の拡張子を「zip」に変更し、「Menu.zip」にします。

「Menu.zip」を開き、直下に「customUI.xml」が入った「customUI」フォルダを格納します。

リボンにタブを表示させる

「customUI.xml」をリボンに読み込んでタブを表示させます。

「Menu.zip」直下の「_rels」フォルダ内にある「.rels」ファイルをデスクトップにコピーします。

「.rels」ファイルをメモ帳で開き、中身を次のコードに置き換えて保存します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail" Target="docProps/thumbnail.jpeg"/>
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="ppt/presentation.xml"/>
<Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
<Relationship Id="myCustomUI" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>
</Relationships>

保存ができたら元の「.rels」ファイルと置き換えます。

以上で、設定は完了です。

動作確認をする

上記の設定が全て完了したら、「Menu.zip」の拡張子を「pptm」に変更し、「Menu.pptm」にします。

「Menu.pptm」を開き、リボンを確認してみましょう。

上図のように「タブ名」に入力した名前のタブが表示されていればカスタムメニューの完成です。

カスタムメニューを共有する

現状では「Menu.pptm」を開かないとカスタムメニューのタブが表示されません。そこで、アドインを作成してどのファイルを開いた時でもタブが表示されるように設定します。

アドインを作成する

「Menu.pptm」を開き、「名前をつけて保存」から「PowerPointアドイン(*.ppam)」を選択し、「Menu.ppam」を保存します。

アドインを読み込む

新規ファイルを作成し、「開発」タブ →「アドイン」グループ →「PowerPointアドイン」をクリックします。 

「アドイン」ダイアログが開くので、「新規追加」をクリックして「Menu.ppam」を選択します。

「使用可能なアドイン」に「Menu」が追加されたら「閉じる」をクリックします。

編集画面に戻るとカスタムメニューのタブが表示されています。

以上で、どのファイルを開いても常にカスタムメニューのタブが表示されるようになりました。

マクロのボタンは右クリックでクイックアクセスツールバーに追加できるので、更に作業効率を向上させることができるでしょう。