「Excel VBA Tips」ではExcel VBAを使用していて気付いたことを取り上げて行きます。
今回から3回に渡り、XML形式のファイル”customUI14.xml”を使用したFulentリボンの機能についてご紹介いたします。
初回はMicrosoftドキュメントで提供されているXML形式でのFulentリボンの属性とコールバック関数について情報を整理し、次回以降の2回で簡単なコーディング事例をご紹介する3本立てでご説明したいと存じます。
なお、Office 2007より前のバージョンのOffice向けとして現在でも使用する事ができるCommandBarオブジェクトモデルからFulentリボンへの置き換えの概要説明は、少し分かり難いのですがMicrosoftドキュメント「Office Fluent リボンの概要」をご参照いただければ幸いです。
※動作は32bit版Excel 2016と64bit版Excel 2021の バージョン2401(ビルド 17231.20236)を使用して検証しています。
- Fulentリボンに関するMicrosoftドキュメントの状況
- 今回の記事の目的
- いろいろなタグで使用される共用属性とコールバック関数
- 個別のタグ「リボンXMLの固有タグ」
- customUI(Custom UI Document Root)
- commands(List of Repurposed Commands)
- command(Repurposed Command)
- ribbon(Ribbon)
- contextualTabs(List of Contextual Tab Sets)
- tabSet(Contextual Tab Set)
- qat(Quick Access Toolbar)
- sharedControls(List of Shared Quick Access Toolbar Controls)
- documentControls(List of Document-Specific Quick Access Toolbar Controls)
- officeMenu
- tabs(List of Tabs)
- tab(Tab)
- group(Group)
- 個別のタグ「基本的コントロール(タグ)」
- box
- button(Button)
- buttonGroup
- checkBox(Check Box)
- comboBox(Combo Box)
- dialogBoxLauncher
- dropDown(Drop-down Control)
- dynamicMenu(Dynamic Menu)
- editBox(Edit Box)
- gallery(Gallery)
- item(Selection Item)
- labelControl(Text Label)
- menu((Menu)
- menuSeparator
- separator
- splitButton(Split Button)
- toggleButton(Toggle Button)
- control(Control Clone)
- 最後に
Fulentリボンに関するMicrosoftドキュメントの状況
Microsoftドキュメントの中でFulentリボンに関するドキュメントを探すと、Office2007については少し詳しく説明がされたドキュメント「2007 Office Fluent リボンをカスタマイズする (開発者向け) (パート 1/3)」が存在しています。
2007 Office Fluent リボンに関するドキュメント
このドキュメントは左図のように1/3から3/3の3つの記事で構成されていますので、上記のリンクを開いてサイドメニューから参照してください、なお内容はつぎのようになっています。
- 2007 Office Fluent ユーザー インターフェイスをカスタマイズする方法
- リボン ユーザー インターフェイスのコントロールおよびメソッド シグネチャ
- Microsoft Office Fluent ユーザー インターフェイスについてよく寄せられる質問
このドキュメントですが、更新が”2006年10月”からされていないので、現在までに加えられた変更が反映されていません。
タイトルの直下に❝[アーティクル]・2015/06/15❞と書かれているので、「論文として再掲載した」という扱いになると思います。
Custom UI XMLマークアップ仕様のドキュメント
そうなると、更新されたドキュメントが存在しないのか?気になるところです。
いろいろと検索すると、オープン仕様の中に英語版でしか存在しなのですが、”[MS-CUSTOMUI]: Custom UI XML Markup Specification”(Custom UI XMLマークアップ仕様)というページが存在する事が解りました。
このサイトの中に、PDFもしくはワード文章でドキュメントが公開されていて、2009/1/15のバージョン1.0から最新では2024/2/20のバージョン10.1まで更新されています。
※古いバージョンはリンクが外されているので中身は見る事が出来ない状態ですが…
このドキュメント(英語版)には詳しい使い方が説明されていますので、これを読めば良いのですが、ただし残念なことに”2007 Office Fluent リボンをカスタマイズする (開発者向け) (パート 3/3)“のQ&A集の中に書かれていた、「ロールバックとその関数の引数」についてのドキュメントが含まれていないのです…
ちなみにこのドキュメントのCustom UIで示されているXML形式ファイルの名前は”customUI.xml“になります。
Custom UI XMLマークアップ バージョン2 仕様のドキュメント
そこで別なドキュメントが存在しないか調べると、オープン仕様の中に前章によく似た”[MS-CUSTOMUI2]: Custom UI XML Markup Version 2 Specification”(Custom UI XMLマークアップ バージョン2 仕様)が存在している事に気付きます。
このサイトの中に、英語版になりますが、PDFもしくはワード文章でドキュメントが公開されていて、2009/7/13のバージョン1.0から最新では2021/8/17のバージョン6.0までが公開されています。
ただこの中にも探している情報は含まれていませんでした…
ちなみにこちらのXML形式ファイルの名前は”customUI14.xml“です。
この2つのオープン仕様の違いは何か?
“Word, Excel, and PowerPoint Standards Support“のページで、この2つの仕様の説明がつぎのようにされています。
仕様 | 説明 |
---|---|
[MS-CUSTOMUI]: Custom UI XML マークアップ仕様 | ECMA-376 Office Open XML ファイル形式 [ECMA-376] のデータ で UI カスタマイズを実装するために使用される。 |
[MS-CUSTOMUI2]: Custom UI XML マークアップ バージョン 2 仕様 | ISO/IEC29500:2012 で指定されている Microsoft Office Open XML ファイル形式標準のデータで UI カスタマイズを実装するため に使用される。 |
そうなんです。2つの存在しているのは、言い換えるとバージョン2が必要になったのは、XML形式の規格をMicrosoft Office製品に合わせるのが原因だったようです。
従ってCustom UIそのものの機能としては大きな違いが無いものと思われます。(ただしすべてを確認した分けではありせんが…)
今回の記事の目的
そうなると、自力で”2007 Office Fluent リボンをカスタマイズする (開発者向け)”のパート2・3に書かれている内容を、最新の”Custom UI XML マークアップ仕様”と突き合わせてまとめるしか方法がなさそうです。
という事で、今回の記事の目的は、 「Office Fluent リボンをカスタマイズするために必要なOffice Open XMLの主な機能の一覧表の最新版を作成する」ということにします。
具体的には”2007 Office Fluent リボンをカスタマイズする (開発者向け) (パート 2/3)“では書かれていない最新の”Custom UI XML マークアップ仕様”にはある属性とコールバック関数を付け加えて一つにまとめるのが狙いです。
従って、この後の章は無味乾燥な一覧表が続く事に成りますので、あらかじめお含み置きください。
いろいろなタグで使用される共用属性とコールバック関数
個別のタグを説明する前に、まずはいろいろなタグで繰返し使用されている20個の属性と12個のコールバック関数について一覧にまとめます。
なおここにご紹介していない、特定のタグにしか出てこない属性やコールバック関数は、個別のタグの説明の中でご紹介いたします。
共用されている属性
まずは20個の属性名の一覧と、個々の属性の設定値と説明の表をご紹介し、どのくらい使われているのか?の回数をまとめています。
属性 | [01]description | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [17]size | [18]supertip | [19]tag | [20]visible | 〆 |
No | 属性 | 設定値 | 説明 |
---|---|---|---|
01 | description | String | No12のitemSize 属性がlargeに設定された時、メニューに表示される説明テキストを指定する。 |
02 | enabled | True, False | コントロールが有効かどうかを指定する。 |
03 | id | String | コントロールのユーザー定義の一意の識別子 (idMso・idQ とは排他的でどれか1 つを指定する)。 |
04 | idMso | control id | 組み込みコントロール ID (id・idQ とは排他的でどれか 1 つを指定する)。 |
05 | idQ | qualified id | 名前空間識別子をプレフィックスに付けた修飾されたコントロール ID (id・idMso とは排他的でどれか 1 つを指定する) |
06 | image | String | コントロールの画像を指定する。 (VBAでは、この値は拡張子.relsに記述された”ID”です。) |
07 | imageMso | control id | コントロールのアイコンとして使用する、組み込みイメージの識別子を指定する。 |
08 | insertAfterMso | control id | コントロールは、この属性に指定した「組み込みコントロールの識別子」の後ろに挿入される。 Insert?Mso、insert?Qは排他的 |
09 | insertAfterQ | qualified id | コントロールは、この属性 に指定した「修飾されたコントロール (つまり、idQ プロパティに 指定したコントロール) 」の後ろに挿入される。 |
10 | insertBeforeMso | control id | コントロールは、この属性に指定した「組み込みコントロールの識別子」の前に挿入される。 Insert?Mso、insert?Qは排他的 |
11 | insertBeforeQ | qualified id | コントロールは、この属性 に指定した「修飾されたコントロール (つまり、idQ プロパティに 指定したコントロール)」 の前に挿入される。 |
12 | keytip | String | コントロールのキーチップとして使用する文字列を指定する。 |
13 | label | String | コントロールのラベルを指定する。 |
14 | screentip | String | コントロールのヒントを指定する。 |
15 | showImage | True, False | コントロールの画像を表示するかどうかを指定する。 |
16 | showLabel | True, False | コントロールのラベルを表示するかどうかを指定する。 |
17 | size | large, normal | このコントロールのサイズを指定する。 |
18 | supertip | String | コントロールの拡張ヒント (通常は、より長く、より完全なヒント) を指定する。 |
19 | tag | String | 他の特定のプロパティに関係のないコントロールに関する情報を保存できるようにする ユーザー定義テキストを指定する。 |
20 | visible | True, False | コントロールが表示されるかどうかを指定する。 |
それぞれの属性が、個別のタグに登場する回数
[01] 6回 | [02] 12回 | [03] 18回 | [04] 15回 | [05] 17回 | [06] 13回 | [07] 13回 |
[08] 17回 | [09] 17回 | [10] 17回 | [11] 17回 | [12] 13回 | [13] 14回 | [14] 13回 |
[15] 11回 | [16] 11回 | [17] 6回 | [18] 13回 | [19] 13回 | [20] 17回 | 〆 |
共用コールバック関数
まずは12個のコールバック関数名の一覧と、個々のコールバック関数のサブルーチンヘッダーと説明の表をご紹介し、どのくらい使われているのか?の回数をまとめています。
Call | [1]getDescription | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage |
back | [8]getShowLabel | [9]getSize | [10]getSupertip | [11]getVisible | [12]onAction | 〆 | 〆 |
No | CallBack | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|---|
01 | getDescription | Sub getDescription(control As IRibbonControl, ByRef description) | コントロールのdescriptionの値を取得 |
02 | getEnabled | Sub getEnabled(control As IRibbonControl, ByRef enabled) | 〃のenablesの状態を取得 |
03 | getImage | Sub getImage(control As IRibbonControl, ByRef image) | 〃のimageの値を取得 |
04 | getKeytip | Sub getKeytip (control As IRibbonControl, ByRef label) | 〃のkeytipの値を取得 |
05 | getLabel | Sub getLabel(control As IRibbonControl, ByRef label) | 〃のlabelの値を取得 |
06 | getScreentip | Sub getScreentip(control As IRibbonControl, ByRef screentip) | 〃のscreentipの値を取得 |
07 | getShowImage | Sub getShowImage (control As IRibbonControl, ByRef showImage) | 〃のimageの表示/非表示を取得 |
08 | getShowLabel | Sub getShowLabel (control As IRibbonControl, ByRef showLabel) | 〃のlabelの表示/非表示を取得 |
09 | getSize | Sub getSize(control As IRibbonControl, ByRef size) | 〃のsize (標準または大) を取得 |
10 | getSupertip | Sub getSupertip(control As IRibbonControl, ByRef screentip) | 〃のsupertipの値を取得 |
11 | getVisible | Sub getVisible(control As IRibbonControl, ByRef visible) | 〃のvisibleの状態を取得 |
12 | onAction | Sub onAction(control As IRibbonControl) ※それぞれで引数や説明が異なる場合は個別に表記 | 〃をクリックすると呼び出される |
それぞれのCallbackが、個別のタグに登場する回数
[01] 7回 | [02] 13回 | [03] 13回 | [04] 14回 | [05] 14回 | [06] 13回 | [07] 12回 |
[08] 12回 | [09] 7回 | [10] 12回 | [11] 18回 | [12] 8回 | 〆 | 〆 |
個別のタグ「リボンXMLの固有タグ」
“2007 Office Fluent リボンをカスタマイズする (開発者向け)”のパート2で「リボンXMLの固有タグ」と「基本的コントロール(タグ)」に分類されているので、それを踏襲しています。
この章では「リボンXMLの固有タグ」の情報をまとめていますが、属性・コールバック関数ともに新たに付け加えられたものは存在していません。
customUI(Custom UI Document Root)
リボンをカスタマイズする際のルート タグになる。
※共用属性・コールバック関数はなし。
属性 | 値 | 説明 |
---|---|---|
xmlns | String | customUI.xmでは”http://schemas.microsoft.com/office/2006/01/customui” customUI14.xmでは”http://schemas.microsoft.com/office/2009/07/customui” |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
loadImage | Sub loadImage(imageId As string, ByRef image) | リボンに必要なすべてのイメージを読み込む |
onLoad | Sub onLoad(ribbon As IRibbonUI) | ファイルが正常に読み込まれたときに一度しか呼び出されません。 このCallbackは、IRibbonUI オブジェクトをパラメータとして受け取る。 |
commands(List of Repurposed Commands)
グローバルに再利用されるコマンドを指定する。
※共用を含め属性・コールバック関数は一切なし。
command(Repurposed Command)
再利用されているコマンドを指定する。
属性 | [02]enabled | [04]idMso | |||||
〆 |
Call | [2]getEnabled | ||||||
back | [12]onAction | 〆 | 〆 |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
onAction | Sub onAction(control As IRibbonControl) | ユーザーがこのコントロールをクリックすると呼び出される。 ※この引数は次のoffice2010のTechnical Articles(英語版)からの類推になります。 “Introduction to the Office 2010 Backstage View for Developers“ このドキュメントはBackstageビューに関するものなのですが、このコントロール の説明の中にcommandのコールバック関数の説明があり、それが適用できるのでは ないか?と考えた次第です。 |
ribbon(Ribbon)
Fluent UI である事を表す。
※共用属性・コールバック関数はなし。
属性 | 値 | 説明 |
---|---|---|
startFromScratch | True,False | True に設定すると、メインの組み込みタブが非表示になる。 |
contextualTabs(List of Contextual Tab Sets)
特定のオブジェクトの種類 (図ツールなど) が選択されたときに表示されるタブ
※共用を含め属性・コールバック関数は一切なし。
tabSet(Contextual Tab Set)
タブ コントロールのコレクションを表す。
属性 | [04]idMso | ||||||
[20]visible | 〆 |
Call | |||||||
back | [11]getVisible | 〆 | 〆 |
qat(Quick Access Toolbar)
クイック アクセス ツール バーを表す。
※RibbonタグのstartFromScratch属性がtrueの時に設定できる。
※共用を含め属性・コールバック関数は一切なし。
sharedControls(List of Shared Quick Access Toolbar Controls)
ドキュメント間で共有されるクイック アクセス ツールバーを指定する (通常は、documentControls を使用し、sharedControls は使用しない)。
※共用を含め属性・コールバック関数は一切なし。
documentControls(List of Document-Specific Quick Access Toolbar Controls)
クイック アクセス ツールバー上のコントロールのリストを指定する。
※共用を含め属性・コールバック関数は一切なし。
officeMenu
Microsoft Office のメニューを指定する。組み込みの Office メニューを参照するために使用
※共用を含め属性・コールバック関数は一切なし。
tabs(List of Tabs)
リボンのタブ コントロールのリストを指定する。
※共用を含め属性・コールバック関数は一切なし。
tab(Tab)
リボン上のタブを表す。
属性 | [03]id | [04]idMso | [05]idQ | ||||
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | ||
[19]tag | [20]visible | 〆 |
Call | [4]getKeytip | [5]getLabel | |||||
back | [11]getVisible | 〆 | 〆 |
group(Group)
リボン上のタブ内のグループを表す。
属性 | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso | ||
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[18]supertip | [19]tag | [20]visible | 〆 |
Call | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | |||
back | [10]getSupertip | [11]getVisible | 〆 | 〆 |
個別のタグ「基本的コントロール(タグ)」
つぎに基本的コントロール(タグ)をご紹介します。
※新たに付け加えられた属性・コールバック関数は赤字にしています。
box
グループ内にコントロールを配置する。
属性 | [03]id | [05]idQ | |||||
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | ||||
[20]visible | 〆 |
属性 | 値 | 説明 |
---|---|---|
boxStyle | Horizontal, Vertical | ボックス内のコントロールの視覚的な流れを指定する。 |
Call | |||||||
back | [11]getVisible | 〆 | 〆 |
button(Button)
ボタン コントロールを表す。
属性 | [01]description | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [17]size | [18]supertip | [19]tag | [20]visible | 〆 |
Call | [1]getDescription | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage |
back | [8]getShowLabel | [9]getSize | [10]getSupertip | [11]getVisible | [12]onAction | 〆 | 〆 |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
onAction ※repurposed | Sub onAction(control As IRibbonControl, byRef CancelDefault) | ユーザーがこのコントロールをクリックすると呼び出される。 ※再設定の場合 |
onAction | Sub onAction(control As IRibbonControl) | ユーザーがこのコントロールをクリックすると呼び出される。 |
buttonGroup
ボタンのグループ化を表す。
属性 | [03]id | [05]idQ | |||||
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | ||||
[20]visible | 〆 |
Call | |||||||
back | [11]getVisible | 〆 | 〆 |
checkBox(Check Box)
チェック ボックス コントロールを表す。
属性 | [1]getDescription | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [18]supertip | [19]tag | [20]visible | 〆 |
Call | [1]getDescription | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage |
Back | [8]getShowLabel | [10]getSupertip | [11]getVisible | [12]onAction | 〆 | 〆 |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
getPressed | Sub getPressed(control As IRibbonControl, ByRef returnValue) | 状態が押されているかどうかを示す値を取得 |
onAction | Sub onAction(control As IRibbonControl, pressed As Boolean) | ユーザーがこのコントロールをクリックすると呼び出される。 |
comboBox(Combo Box)
コンボ ボックス コントロールを表す。
属性 | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso | |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [18]supertip | [19]tag | [20]visible | 〆 |
属性 | 値 | 説明 |
---|---|---|
invalidateContentOnDrop | True, False | ドロップダウン メニューを開いたときに、その内容を無効にして再クエリする かどうかを指定する。 |
maxLength | Integer | コントロールに入力できる文字列の最大長を整数 で指定する。 |
showItemImage | True, False | comboBox、dropDown、またはgalleryで、各項目の画像を表示するかどうかを 指定する。 |
sizeString | String | コントロールの幅を示す「MMMMM」などの文字列を指定する。 |
Call | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage | |
back | [8]getShowLabel | [10]getSupertip | [11]getVisible | 〆 | 〆 |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
getItemCount | Sub getItemCount(control As IRibbonControl, ByRef count) | comboBox、dropDown、galleryの場合、表示される項目の数 を取得する。 |
getItemID | Sub getItemID(control As IRibbonControl, index As Integer, ByRef id) | 〃の場合、特定の項目の ID を取得する。 |
getItemImage | Sub getItemImage(control As IRibbonControl, index As Integer, ByRef image) | 〃の場合、特定の項目の画像を取得する。 |
getItemLabel | Sub getItemLabel(control As IRibbonControl, index As Integer, ByRef label) | 〃の場合、特定の項目のラベルを取得する。 |
getItemScreenTip | Sub getItemScreenTip(control As IRibbonControl, index As Integer, ByRef screentip) | 〃の場合、特定の項目のヒントを取得する。 |
getItemSuperTip | Sub getItemSuperTip (control As IRibbonControl, index As Integer, ByRef supertip) | 〃の場合、特定の項目の拡張ヒントを取得する。 |
getText | Sub getText(control As IRibbonControl, ByRef text) | checkBoxまたはeditBoxの場合、コントロールの編集部分に表示 されるテキストを取得する。 |
onChange | Sub onChange(control As IRibbonControl, text As String) | ユーザーがeditBoxまたはcheckBoxでテキストをコミットすると 呼び出される。 |
dialogBoxLauncher
グループのダイアログ ボックス起動プログラムを格納する。
・グループには 1 つの dialogBoxLauncher コントロールのみを格納することができる。
・このコントロールにはボタン コントロールを格納する必要がある。
・このコントロールは、含まれるグループ要素内の最後の要素として表示される必要がある。
dropDown(Drop-down Control)
ドロップダウン リスト ボックスを表す。
属性 | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso | |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [17]size | [18]supertip | [19]tag | [20]visible | 〆 |
属性 | 値 | 説明 |
---|---|---|
showItemImage | True, False | comboBox参照-1 |
showItemLabel | True, False | dropDown、またはgalleryで、各項目のラベルを表示するかどうかを指定 |
sizeString | String | comboBox参照-1 |
Call | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage | |
back | [8]getShowLabel | [10]getSupertip | [11]getVisible | [12]onAction | 〆 | 〆 |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
getItemCount | comboBox参照 | |
getItemID | 〃 | |
getItemImage | 〃 | |
getItemLabel | 〃 | |
getItemScreenTip | 〃 | |
getItemSuperTip | 〃 | |
getSelectedItemID | Sub getSelectedItemID(control As IRibbonControl, ByRef index) | dropDown、またはgalleryの場合、選択した項目の ID を取得する。 |
getSelectedItemIndex | Sub getSelectedItemIndex(control As IRibbonControl, ByRef index) | dropDown、またはgalleryの場合、選択した項目の インデックスを取得する。 |
onAction | Sub onAction(control As IRibbonControl, selectedId As String, selectedIndex As Integer) | ユーザーがこのコントロールをクリックすると呼び出 される。 |
dynamicMenu(Dynamic Menu)
実行時にコンテンツを動的に設定するメニューを表す。
属性 | [01]description | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [17]size | [18]supertip | [19]tag | [20]visible | 〆 |
属性 | 値 | 説明 |
---|---|---|
invalidateContentOnDrop | True, False | ドロップダウン メニューを開いたときに、その内容を無効にして再クエリするか どうかを指定する。 |
Call | [1]getDescription | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage |
back | [8]getShowLabel | [9]getSize | [10]getSupertip | [11]getVisible | 〆 | 〆 |
※size属性は無いがgetSizeはある。
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
getContent | Sub getContent(control As IRibbonControl, ByRef content) | メニューを説明する XML コンテンツを取得します。 |
editBox(Edit Box)
エディット ボックスのコントロールを表す。
属性 | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso | |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [18]supertip | [19]tag | [20]visible | 〆 |
属性 | 値 | 説明 |
---|---|---|
maxLength | Integer | comboBox参照-1 |
sizeString | String | comboBox参照-2 |
Call | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage | |
back | [8]getShowLabel | [10]getSupertip | [11]getVisible | 〆 | 〆 |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
getText | comboBox参照 | |
onChange | 〃 |
gallery(Gallery)
ギャラリー コントロールを表す。
属性 | [01]description | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [17]size | [18]supertip | [19]tag | [20]visible | 〆 |
属性 | 値 | 説明 |
---|---|---|
columns | Integer | 表示する列数 |
invalidateContentOnDrop | True, False | ドロップダウン メニューを開いたときに、その内容を無効にして再クエリするかどうか を指定する。 |
itemHeight | Integer | 項目の高さ (ピクセル) |
itemWidth | Integer | 項目の幅 (ピクセル) |
rows | Integer | 表示する行数 |
showItemImage | True, False | comboBox参照-2 |
showItemLabel | True, False | dropDown参照-1 |
sizeString | String | comboBox参照-3 |
Call | [1]getDescription | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage |
back | [8]getShowLabel | [9]getSize | [10]getSupertip | [11]getVisible | [12]onAction | 〆 | 〆 |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
getItemCount | comboBox参照 | |
getItemHeight | Sub getItemHeight(control As IRibbonControl, ByRef height) | 項目の高さ (ピクセル) |
getItemID | comboBox参照 | |
getItemImage | 〃 | |
getItemLabel | 〃 | |
getItemScreenTip | Sub getItemScreenTip(control As IRibbonControl, index as Integer, ByRef screen) | comboBoxは第3引数がscreenTip |
getItemSuperTip | Sub getItemSuperTip (control As IRibbonControl, index as Integer, ByRef screen) | comboBoxは第3引数がscreenTip |
getItemWidth | Sub getItemWidth(control As IRibbonControl, ByRef width) | 項目の幅 (ピクセル) |
getSelectedItemID | dropDown参照 | |
getSelectedItemIndex | 〃 | |
onAction | 〃 |
item(Selection Item)
gallery、dropDown、または comboBox の静的項目
※静的項目を指定した場合、動的項目は指定できない。
※共用コールバック関数はなし。
属性 | [03]id | [06]image | [07]imageMso | ||||
[13]label | [14]screentip | ||||||
[18]supertip | 〆 |
labelControl(Text Label)
ラベル コントロールを表す。
属性 | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso | |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [18]supertip | [19]tag | [20]visible | 〆 |
Call | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage | |
back | [8]getShowLabel | [10]getSupertip | [11]getVisible | 〆 | 〆 |
menu((Menu)
メニュー コントロールを表す。
属性 | [01]description | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [17]size | [18]supertip | [19]tag | [20]visible | 〆 |
属性 | 値 | 説明 |
---|---|---|
itemSize | Normal, Large | メニュー内の項目のサイズ。大きいサイズ (Large) のメニュー項目には Descriptionの値が表示される。 |
Call | [1]getDescription | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage |
back | [8]getShowLabel | [9]getSize | [10]getSupertip | [11]getVisible | [12]onAction | 〆 | 〆 |
menuSeparator
メニュー アイテム間の区切り線を表す。
属性 | [03]id | [05]idQ | |||||
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | ||||
〆 |
属性 | 値 | 説明 |
---|---|---|
title | String | (水平線ではなく) メニュー区切り文字の場合、表示されるテキストを指定する。 |
Call | |||||||
back | 〆 | 〆 |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
getTitle | Sub getTitle (control As IRibbonControl, ByRef title) | (水平線ではなく) 表示されるテキストを取得します。 |
separator
コントロール間の区切り線を表す。
属性 | [03]id | [05]idQ | |||||
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | ||||
[20]visible | 〆 |
Call | |||||||
back | [11]getVisible | 〆 | 〆 |
splitButton(Split Button)
スプリット ボタン コントロールを表す。
属性 | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso | |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [17]size | [18]supertip | [19]tag | [20]visible | 〆 |
Call | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage | |
back | [8]getShowLabel | [9]getSize | [10]getSupertip | [11]getVisible | 〆 | 〆 |
toggleButton(Toggle Button)
トグル ボタン コントロールを表す。
属性 | [01]description | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [17]size | [18]supertip | [19]tag | [20]visible | 〆 |
Call | [1]getDescription | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage |
back | [8]getShowLabel | [9]getSize | [10]getSupertip | [11]getVisible | [12]onAction | 〆 | 〆 |
Callback | サブルーチンの引数(ヘッダーで表記) | 説明 |
---|---|---|
getPressed | checkBox参照 | |
onAction ※repurposed | Sub onAction(control As IRibbonControl, pressed As Boolean, byRef cancelDefault) | ユーザーがこのコントロールをクリックすると呼び出される。 ※再設定の場合 |
onAction | checkBox参照 |
control(Control Clone)
●このタグは”2007 Office Fluent リボンをカスタマイズする (開発者向け)”のパート2では説明されていません。
idMso 属性を使用して既存の組み込みコントロールを複製(クローン)する。
・ただしカスタム コントロールの複製はできない( Controlではカスタム コントロールを作成できない)。
・既存の組み込みコントロールをクローンすると、アイコンやラベルなどに固有ではないプロパティが(クローンに)コピーされる。
・コントロールのサイズや可視性などの固有のプロパティはコピーされない。
・これらのプロパティは、コントロールに追加の属性を指定することで設定できる。
属性 | [01]description | [02]enabled | [03]id | [04]idMso | [05]idQ | [06]image | [07]imageMso |
[08]insertAfterMso | [09]insertAfterQ | [10]insertBeforeMso | [11]insertBeforeQ | [12]keytip | [13]label | [14]screentip | |
[15]showImage | [16]showLabel | [17]size | [18]supertip | [19]tag | [20]visible | 〆 |
Call | [1]getDescription | [2]getEnabled | [3]getImage | [4]getKeytip | [5]getLabel | [6]getScreentip | [7]getShowImage |
back | [8]getShowLabel | [9]getSize | [10]getSupertip | [11]getVisible | [12]onAction | 〆 | 〆 |
最後に
今回は、Microsoftドキュメントで提供されているXML形式でのFulentリボンの属性とコールバック関数について情報を整理してきました。
本当に表だらけになりましたが、かなりな文字数になってしまったので、次回では簡単な属性についての具体的なXMLのコーディング事例をご紹介すしたいと思います。
最後までご一読いただき誠にありがとうございました。