goo blog サービス終了のお知らせ 

道草日記

通勤幾星霜…寄り道回り道の日記です。

Officeリボンのカスタマイズ(1)

2012-12-24 | VBA

 VBAでExcelやパワポをツール化しようとすると、リボンのカスタマイズは避けて通れない。 リボンのカスタマイズについてまとめておく。

●入門者向けサイト 

・リボンのカスタマイズの理屈は以下のサイトで学習
 
 
 
 
・本家Microsoftもけっこう詳しい
 
 

 
●リボンのカスタマイズはXMLで行う。
 
 リボンのカスタマイズは、XMLにより、タブの編集・ユーザータブの追加を行う。
 
・XML編集ソフトはいろいろあるが、Office Ribbon Editor が使いよい。
 
・「ホームタブ」など、ビルトインのタブは中身のXMLを見ることはできない。しかし、編集することはできる。つまり、カスタマイズで上書きすることで、変更を加えることができるのだ。
 ビルトインタブの機能は削除することはできないが、「非表示」にすることはできる。デフォルトの機能を非表示にしてスペースを作れば、そこにオリジナルの機能を加えることができる。
 
・下記はPowerPoint2010での例である。
 <処理内容>
  ホームタブ  … フォントグループを非表示、マクロ起動用のボタン追加
  カスタムタブ … ホームタブの次にタブを追加。ビルトインのグループやギャラリーを追加
 
---------------------------------------------------------------------------------------- 
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <ribbon startFromScratch="false">
        <tabs>
           <tab idMso="TabHome">
               <group idMso="GroupFont" visible="false" />
               <group id="customGroup" label="MyDraw">
               <button id="customButton" label="MyDraw" imageMso="HappyFace" size="large" 
            onAction="show_myDraw" />
        </group>
      </tab>
      <tab id="TabDrawingToolsFormat" label="MyDraw" insertAfterMso="TabHome" >
         <group idMso="GroupFont" visible="true" />
         <group idMso="GroupArrange" visible="true" />
         <group idMso="GroupShapes" visible="true" />
         <group id="PenToolGroup" label="図形">
            <gallery idMso="ShapeFillColorPicker" visible="true" />
            <gallery idMso="ShapeOutlineColorPicker" visible="true" />
            <menu idMso="ShapeEffectsMenu" visible="true" />
         </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

-----------------------------------------------------------------------------------------

・タブの編集にはContorolの idMso(Name)やTypeが必要。
 また、一見同じに見えても、group, gallery, menuなどのTypeが違うことがある。
 以下から一覧がダウンロードできる。
     http://www.microsoft.com/en-us/download/details.aspx?id=6627
 
 
  こちらの一覧表(Office 2010 コントロールID 一覧)も参考になる。(Typeは記載なし)
     http://www.ka-net.org/office/of27.html
 
また、簡易的には、下図のようにエクセルやパワポの「オプション」-「リボンのユーザー設定」で「コマンドの選択」の各項目の上にカーソルを乗せると、そのContorol Nameが表示される。ただし、Typeはわからない。

 

●ビルトイン機能の「グループ」に注意

 分かりにくいのが、「ワードアートのスタイル」、「図形の挿入」などの埋め込みメニューだ。普通に単機能のオブジェクトだけを張り付けても、上記のワードアートの選択ボックスは表示されない。
 これらは複数の機能を集めた「機能グループ」(最初が「Group***」で始まるidMso)として定義されている。組み込みたい場合はのように指定する。

上の図の「ワードアートのスタイル」の場合は

<group idMso="GroupWordArtStyles" visible="true" />

となる。



最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。