概要
先回投稿に引き続き、OFFICE-CUSTOM-UI-EDITOR を使って、独自のパワーポイントユーザーインタフェースを作成します。
今回、作成したのは下図のユーザーインタフェースです。比較的よく使いそうな 図形描画等のコマンドを集めました。もともとパワーポイントが持つ標準機能ですので、XML言語での記述がほとんどで、VBAでのプログラム作成は基本ありません。
下図の上段がオリジナル、下段が今回作成したものです。大きさの比率は実際のものとほぼ同じと思います。
オリジナルはたくさんのコントールが配置されていて視覚的なプレゼン資料を作成するのに非常に有効ですが、反対に選択に迷うこともあります。必要最小限のコントロールをより大きく配置し、タブレットパソコンでもパワーポイント資料を効率的に作成することも目的の一つです。
カスタムUI と XML
詳細は割愛しますが、私にとって必要と思われるテキストと図形挿入機能、及び関連設定コントロールを大きいサイズで配置しています。ワイドモニターでは十分確認出来ますが、タブレットパソコン等では確認していません。また、ファイル保存等のコントロールも必要なので、タブを分けたり、ドロップダウンリストにするなど必要かもしれません。
XMLは次の様になります。先回と同じくOFFICE-CUSTOM-UI-EDITOR を使って編集します。
“idMso” なるID情報によって、使用するコントロールを指定するので簡単そうですが、たくさんあるなかから欲しい機能を関連サイトやリストのコントロール名から推測して探すのに結構時間が掛かりました。
<?xml version="1.0" encoding="utf-8"?> <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="onLoad"> <ribbon startFromScratch="false"> <tabs> <tab id="tab01" visible="true" label="◆簡易描画◆" > <group id="grp11" label="基本図形"> <toggleButton idMso="ShapeRectangle" size="large" /> <toggleButton idMso="ShapeRoundedRectangle" size="large" /> <toggleButton idMso="ShapeRoundedRectangularCallout" size="large" label="吹き出し" /> <toggleButton idMso="ShapeOval" size="large" /> <toggleButton idMso="ShapeRightArrow" size="large" /> <toggleButton idMso="ShapeDownArrow" size="large" /> </group> <group id="grp12" label="直線"> <toggleButton idMso="ShapeStraightConnector" size="large" label="直線" /> <toggleButton idMso="ShapeStraightConnectorArrow" size="large" label="矢印" /> </group> <group id="grp13" label="画像挿入"> <button idMso="PictureInsertFromFilePowerPoint" size="large" /> <toggleButton idMso="PictureCrop" size="large" /> <button idMso="PicturesCompress" size="large" /> </group> <group id="grp14" label="テキスト"> <toggleButton idMso="TextBoxInsertHorizontal" size="large" label="横書" /> <toggleButton idMso="TextBoxInsertVertical" size="large" label="縦書" /> </group> <group idMso="GroupInkPens" visible="true" /> <group id="grp15" label="図形設定"> <gallery idMso="ShapeFillColorPicker" visible="true" size="large" /> <gallery idMso="ShapeOutlineColorPicker" visible="true" size="large" /> <gallery idMso="LineThickness" visible="true" size="large" /> <gallery idMso="OutlineDashesGallery" visible="true" size="large" /> </group> <group id="grp16" label="文字設定"> <gallery idMso="FontColorPicker" visible="true" size="large" label="文字色" /> <button idMso="FontSizeIncrease" size="large" label="文字拡大" /> <button idMso="FontSizeDecrease" size="large" label="文字縮小" /> <control idMso="Font" size="large" /> <comboBox idMso="FontSize" /> </group> <group id="grp17" label="文字配置"> <button idMso="ObjectEditText" size="large" label="図形内テキスト編集" /> <toggleButton idMso="AlignLeft" size="large" /> <toggleButton idMso="AlignCenter" size="large" /> <toggleButton idMso="AlignRight" size="large" /> <button idMso="ObjectsAlignMiddleVerticalSmart" size="large" /> <gallery idMso="TextAlignGallery" visible="true" size="large" /> </group> <group id="grp18" label="いろいろ"> <toggleButton idMso="ViewSlideSorterView" size="large" label="表示切替" /> <toggleButton idMso="ObjectsSelect" size="large" label="図形選択" /> <button idMso="ObjectBringToFront" size="large" /> <button idMso="ObjectSendToBack" size="large" /> <button idMso="ObjectRotateRight90" size="large" /> <button idMso="ObjectRotateLeft90" size="large" /> </group> </tab> </tabs> </ribbon> </customUI>
コントロール名、種類等は、主に下記を参考にしました。
[参考]
[MS-CUSTOMUI]: Custom UI XML Markup Specification
idMso Control List for PowerPoint 2013 and 2010
下記コントロールも確認しましたので、後日個人的に利用することもありますので、追記します。
<tab id="tab02" visible="true" label="テスト" >
<group idMso="GroupShapes" visible="true" />
<group id="grp22" label="テスト">
<button idMso="ObjectFillMoreColorsDialog" size="large" />
</group>
</tab>
標準操作でのカスタムタブ作成
同じようなカスタムタブは、XMLを編集しなくても、下図の様に [ファイル] ー [オプション] ー [リボンのユーザー設定] で作成できます。
但し、この方法はPC側のアプリケーションに設定するのに対し、XMLは作成するパワーポイントファイルに設定していることが異なります。ファイル側に設定しているので、雛型として配布すれば、誰もが同じ環境を利用できることや VBA連携,対応コントロール数,表示設定等がメリットと理解しています。
上記状態で対象コントロール上にマウスカーソルを動かすと、コントロール名が表示されますので、XMLを編集する場合でも。コントールを選択する際に有効です。
まとめ
配置済みのテキストボックスを選択すると関連するコントロールが強調表示されるなど機能連携しています。とても私にはこの様な処理に対応できません。カスタム配置でもきちんと機能する様なので良かったです。
尚、いつものことですが、趣味でやっていますので、不適切な表現方法・使い方なども多々あるかと思いますが、何卒ご容赦お願い致します。