PowerPoint

【PowerPoint】好きなマクロを並べたカスタムタブメニューの作成方法

https://www.cg-method.com/entry/2016/09/27/000424

よく使うマクロはアドイン化していたのですが、たまにアドインにすると使えないマクロがあったので、違う方法を模索してみました。

カスタムタブメニューの作成方法について

概要

  1. 好きなマクロ入りのパワポデータを作成(pptm)

  2. Zipにして中身を編集

  3. タブメニューの作成(xml)

  4. タブメニューの登録(.rels)

  5. もとの名前に戻す

マクロ入りpptmデータの作成

  • Alt+F11でVBAを起動して好きなマクロを追加していく

f:id:min0124:20170128160316j:plain

pptmの中身を開く

そもそもオフィスのデータはただのZIPデータだったりするので、拡張子をZIPにして解凍してしまいます。

min.hatenablog.jp

タブメニューの作成(xml)

メモ帳を開いてタブメニューの記述を追加しcustomUI.xmlという名前で保存

※このときUFT-8で保存しないと、最後にエラーを吐くので注意!

f:id:min0124:20170128160739j:plain

<?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="my menu">
<group id="Group1" label="tool_01">
<button id="Button1-1" label="画像一括挿入" imageMso="MacroPlay" size="normal" onAction="ImportImage" />
<button id="Button1-2" label="画像一括置換" imageMso="MacroPlay" size="normal" onAction="ReplaceImage" />
<button id="Button1-3" label="複数pptを一つにまとめる" imageMso="MacroPlay" size="normal" onAction="Pre_InsertFromFile1" />
</group>
<group id="Group2" label="tool_02">
<button id="Button2-1" label="図形をA4にリサイズ" imageMso="MacroPlay" size="normal" onAction="ResizeA4" />
<button id="Button2-2" label="図形をロック" imageMso="MacroPlay" size="normal" onAction="lockShapes" />
<button id="Button2-3" label="図形のロック解除" imageMso="MacroPlay" size="normal" onAction="unlockShapes" />
<button id="Button2-4" label="グリッド表示ON・OFF" imageMso="MacroPlay" size="normal" onAction="ToggleGrid" />
<button id="Button2-5" label="グリッド吸着ON・OFF" imageMso="MacroPlay" size="normal" onAction="SnapGrid" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>

できたら、customUIというフォルダを作成してその中にcustomUI.xmlを入れて、そのフォルダごと解凍したパワポデータの直下に入れます。

f:id:min0124:20170128161018j:plain

タブメニューの登録(.rels)

解凍したパワポデータに_relsというフォルダの中に.relsというデータがあるので、まずコピーをとってからメモ帳で開きます。(そのまま開くと読み取り専用になります)

最後の行の前に
<Relationship Id="myCustomUI" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>

を挿入します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="ppt/presentation.xml"/>
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail" Target="docProps/thumbnail.jpeg"/>
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.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へ上書き保存します。UFT-8で保存しないと、最後にエラーを吐くので注意!

もとの状態に戻す

圧縮して元の名前に戻します。○○○.pptm

開いて、タブメニューを確認して完了です。

好きなマクロが簡単に使えるパワポファイルとして使えます。

f:id:min0124:20170128161747j:plain

参考

Office 2007/2010・リボンのカスタマイズ 初心者備忘録

Office 2013 アイコン一覧(M) | 初心者備忘録

パワポに関する記事をすべて掲載!
ABOUT ME
すいみん
名前:すいみん 東京在住のデザイナー DTP・映像・3D・プログラミングまで、 なんでも自分で試して作ることが好きです。 ブログはその備忘録です。