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」で取得することが可能です。

関連記事

  1. アイコン一覧

    Office 2013 アイコン一覧(H)

    ・Office 2013 アイコン一覧 NUM…

  2. Office アドイン

    [Office用アプリ]「あいさつ文の挿入」を作業ウィンドウアプリに移植してみる。

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

  3. Office関連

    VALUE DOMAINで管理しているドメインをOffice 365で使用する。

    Office 365をセットアップすると設定される初期ドメイン「onm…

  4. Office アドイン

    [Office用アプリ]マニフェストファイルで多言語対応させる。

    Office用アプリの各種設定を定義するXMLマニフェストファイルです…

  5. Office アドイン

    [Office用アプリ]JavaScript API for Officeのポスター

    JavaScript API for Officeのオブジェクト、メソ…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP