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)一覧(K,L)

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

  2. Office アドイン

    [Office用アプリ]野良アプリのススメ

    「Office 用アプリの概要」にもある通り、Office用アプリを公…

  3. Office関連

    “元に戻す”履歴に文字列をセットするPowerPointマクロ

    PowerPointマクロでは、Presentationオブジェクトの…

  4. Windows 10

    続・Microsoft Edgeを操作するVBAマクロ(DOM編)

    以前VBAからMicrosoft Edgeを操作するマクロについて記事…

  5. Office関連

    「Excel VBAでIEを思いのままに操作できるプログラミング術」の見本誌をいただきました。

    「VBAアクションゲーム?Excel(エクセル)で動かそう!」で有名な…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP