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 365アイコン(imageMso)一覧(U)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  2. Office関連

    「印刷の向き」の変更を検知するExcelマクロ

    MSDNフォーラムに「「印刷の向き」の「縦」「横」ボタンがクリックされ…

  3. Office関連

    [Excel]XLOOKUP関数でより簡単に値を検索できるようになりました!

    下記記事の通り、2019年8月末にVLOOKUP関数やHLOOKUP関…

  4. Office アドイン

    [Officeアドイン]地図記号挿入アドイン

    ちょっとずつ作成していたWord用のOffice アドインがようやくO…

  5. Office アドイン

    Office 365でVisio JavaScript APIsを試してみました。

    昨年末にVisio Onlineの機能をJavaScriptで拡張する…

  6. Office関連

    MemsourceのバイリンガルMXLIFFファイルから情報を抽出するWordマクロ

    近年翻訳業界では「Trados」や「memoQ」といった、“翻訳支援ツ…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP