カスタム検索
リボン関連

Backstage group要素の背景を設定する(Office 2010)

Backstage group要素の背景は「style」属性で設定することができます。

 

属性
style normal
warning
error

1. <group id="grpStyle" label="Style Test" style="normal">

2. <group id="grpStyle" label="Style Test" style="warning">

3. <group id="grpStyle" label="Style Test" style="error">

 

また「getStyle」属性でコールバック関数を設定することで、動的に背景を変更することもできます。
下記例では「Change Style」ボタンをクリックすることで背景が変更されます。

 

1. [リボンXML]

<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="Ribbon_onLoad" xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  <backstage>
    <tab id="tabStyle" label="Style Test">
      <firstColumn>
        <group id="grpStyle" label="Style Test" getStyle="group_getStyle">
          <topItems>
            <button id="btnStyle" label="Change Style" imageMso="AppointmentColorDialog" onAction="button_onAction" />
            <imageControl id="imgCtlStyle" image="Sunset" />
          </topItems>
        </group>
      </firstColumn>
    </tab>
  </backstage>
</customUI>
2. [標準モジュール]
Option Explicit

Private myRibbon As IRibbonUI
Private flg As Long

Public Sub Ribbon_onLoad(ribbon As IRibbonUI)
  Set myRibbon = ribbon
  flg = 1
End Sub

Public Sub button_onAction(control As IRibbonControl)
  If flg >= 3 Then flg = 0
  flg = flg + 1
  Call myRibbon.InvalidateControl("grpStyle")
End Sub

Public Sub group_getStyle(control As IRibbonControl, ByRef returnedVal)
  Dim ret As BackstageGroupStyle
  Select Case flg
    Case 1
      ret = BackstageGroupStyleNormal
    Case 2
      ret = BackstageGroupStyleWarning
    Case 3
      ret = BackstageGroupStyleError
  End Select
  returnedVal = ret
End Sub