Office関連

[リボン・カスタマイズ]checkBox要素のチェック状態を動的に設定する。

HPの掲示板で、

チェックボックスのcheck/uncheckの状態を
プログラム的に設定することは可能でしょうか?

といった質問がありました。

checkBox要素のON・OFFを動的に切り替える場合は、getPressed属性のコールバックを使います。

・リボンXML

<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="rbnChkSample_onLoad" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab id="tabSample" label="Sample Tab">
        <group id="grpSample" label="Sample Group">
          <button id="btnSample" label="Sample Button" imageMso="HappyFace" onAction="btnSample_onAction" />
          <checkBox id="chkSample" label="Sample CheckBox" getPressed="chkSample_getPressed" onAction="chkSample_onAction" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

・標準モジュール

'標準モジュール
Option Explicit

Private myRibbon As Office.IRibbonUI
Private flgChkSample As Boolean

Public Sub rbnChkSample_onLoad(ribbon As IRibbonUI)
  Set myRibbon = ribbon
  flgChkSample = True 'checkBox要素の初期値
End Sub

Public Sub btnSample_onAction(control As IRibbonControl)
'button要素クリック時に実行
'checkBox要素のON・OFFを切り替え
  flgChkSample = Not flgChkSample
  myRibbon.InvalidateControl "chkSample" 'checkBox要素再描画
  'myribbon.Invalidate 'リボン全体再描画
End Sub

Public Sub chkSample_getPressed(control As IRibbonControl, ByRef returnedVal)
'checkBox要素のON・OFFを設定
  returnedVal = flgChkSample
End Sub

Public Sub chkSample_onAction(control As IRibbonControl, pressed As Boolean)
'checkBox要素クリック時に実行
  flgChkSample = Not flgChkSample
  MsgBox "checkBox要素の現在のチェック状態は「" & pressed & "」です。", vbSystemModal
End Sub

上記コードを設定したファイルを開くと「Sample Tab」の中にボタン(button要素、id属性:btnSample)とチェックボックス(checkBox要素、id属性:chkSample)が表示され、ボタンをクリックする度にチェックボックスのON・OFFが切り替わります。

chkSample_getPressed_01

ちなみに、チェックボックスのチェック状態については、onAction属性のコールバックの引数「pressed」で取得することが可能です。

関連記事

アプリケーション起動時にクイック アクセス ツール バーにマクロ実行用ボタンを動的に追加するOutlookマクロ前のページ

PDFファイルにヘッダーとフッターを追加するVBAマクロ次のページ

関連記事

  1. Office関連

    「あのコマンドどこだっけ? for Office 2013」の紹介

    Word MVPの新田さんのブログでも紹介していただいている自作フリー…

  2. Office関連

    ノートを削除するPowerPointマクロ

    下記のコードは「Remove Notes Pages in Power…

  3. アイコン一覧

    Office 2013 アイコン一覧(NUM)

    ・Office 2013 アイコン一覧 NUM…

  4. Office関連

    Microsoft Graph SDK for PHPを使ったAPIの呼び出しサンプル

    知らない間に(恐らくBuild 2017のタイミングに合わせて)Mic…

  5. Office関連

    日本語の文法上の誤りを列挙して修正候補をコメントとして追加するWordマクロ

    前回の記事の関連で、今度は日本語の文法上の誤りを列挙して修正候補をコメ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

最近の記事

アーカイブ

PAGE TOP