Office関連

[リボン・カスタマイズ]グループの表示・非表示をトグルボタンで切り替える。

数年前に書いた記事に下記コメントをいただきました。

Excelにて、リボン、ボタンではなく、リボン内の特定の「グループ」について表示/非表示をトグルボタンのクリック操作で行う場合のXMLコードを教えて下さい。

グループに限らず、リボン上の各要素の表示・非表示を動的に切り替えたい場合はgetVisible属性を使います。

また、表示状態をトグルボタンで設定したいとのことなので、toggleButton要素のgetPressed属性でボタンの押下状態を設定し、onAction属性でボタンをクリックした際の処理を設定します。

リボンXML

<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="rbnSample_onLoad" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab id="tabSample" label="Sample Tab">
        <group id="grpSample1" label="Group 1" getVisible="grpSample_getVisible">
          <button id="btnDummy1" label="Button 1" imageMso="HappyFace" size="large" />
          <button id="btnDummy2" label="Button 2" imageMso="HappyFace" size="large" />
          <button id="btnDummy3" label="Button 3" imageMso="HappyFace" size="large" />
          <button id="btnDummy4" label="Button 4" imageMso="HappyFace" size="large" />
        </group>
        <group id="grpSample2" label="Group 2">
          <toggleButton id="tglSample" label="表示・非表示切替" imageMso="HappyFace" size="large" supertip="グループの表示・非表示を切り替えます。" onAction="tglSample_onAction" getPressed="tglSample_getPressed" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

VBAコード(標準モジュール)

Option Explicit

Private myRibbon As Office.IRibbonUI
Private flg As Boolean

Public Sub rbnSample_onLoad(ribbon As IRibbonUI)
  Set myRibbon = ribbon
  flg = True
End Sub

Public Sub grpSample_getVisible(control As IRibbonControl, ByRef returnedVal)
  returnedVal = flg
End Sub

Public Sub tglSample_onAction(control As IRibbonControl, pressed As Boolean)
  flg = pressed
  myRibbon.InvalidateControl "grpSample1"
End Sub

Public Sub tglSample_getPressed(control As IRibbonControl, ByRef returnedVal)
  returnedVal = flg
End Sub

上記コードでは、トグルボタンが押下されている状態の時にはグループが表示され、解除されている状態のときは非表示になります。

関連記事

  1. Office アドイン

    [Office用アプリ]RSS表示アプリを作成する。

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

  2. Office アドイン

    [Office用アプリ]法人登録する際の参考資料

    法人としてMicrosoft Seller DashboardでOff…

  3. Excel

    EvernoteのノートをXML形式で保存するVBAマクロ

    Evernote for WindowsのType Library(E…

  4. リボン関連

    Re: Excel 2013のデザインタブはどこに?

    「インストラクターのネタ帳」で有名なExcel MVPの伊藤さんが「E…

コメント

  • コメント (1)

  • トラックバックは利用できません。

  1. きぬあさ様
    早速ご対応下さりありがとうございます!!

    これから実際にやってみます。
    また不明点が発生しましたら質問させて頂きます。
    そのせつはどうぞよろしくお願い致します。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP