Dynamics CRM 2011 リボンのカスタマイズ 番外編

みなさん、こんにちは。

以前シリーズとして紹介したリボンのカスタマイズですが、
今回は番外編としてリボン上の要素を探す方法を紹介します。

エンティティリボン

まずエンティティリボンから確認してみます。エンティティリボンには
グリッド、フォーム、サブグリッド、グラフツールリボンがあります。

[グリッドリボン]
image

[フォームリボン]
image

[サブグリッドリボン]
image

[グラフツールリボン]
image

これらのリボンに存在するタブ、グループ、コントロールの ID は
以下の手順で特定が可能です。

1. 最新の SDK をダウンロードし、解凍します。
https://www.microsoft.com/en-us/download/details.aspx?id=24004

2. sdk\resources\exportedribbonxml フォルダより該当する
エンティティ名ribbon.xml を開きます。

3. <UI><Ribbon><Tabs> 配下にはグリッドとフォームリボンがあります。
Mscrm.HomepageGrid を含むものはグリッドリボン
Mscrm.Form を含むものはフォームリボン

4. <UI><Ribbon><ContextualTabs> 配下にはサブグリッドとグラフ
ツールリボンがあります。
Mscrm.VisualizationTools を含むものはグラフツールリボン
Mscrm.SubGrid を含むものはサブグリッドリボン

5. 該当の項目を見つけたら、Tab、Group の順番に、画面と見比べ
ながらツリーを下がります。尚、Tab 直下にある Scaling は無視
してください。

6. コントロールにはいくつか種類があるため、ドロップダウンの
ように中に複数の子コントロールを含むものもあります。

例えば上記画面ショット内、フォームリボン上の 「マーケティング
リストに追加」 ボタンを探す場合は、以下の手順で探します。

1. accountribbon.xml を開きます。

2. Tab より Mscrm.Form で始まるものを探します。
image

3. 実際の画面と見比べて、MainTab が取引先企業タブ、Related
が追加、Developer がカスタマイズタブであることを確認します。

image

4. Mscrm.Form.account.MainTab を展開し、Group を探します。

image

5. 実際の画面と比較しながら、Mscrm.Form.account.Maintab.Collaborate
が探しているグループであると推測します。

6. 配下のコントロールに <Button Id="Mscrm.Form.account.AddToList" が
あるため、探しているボタンの ID が Mscrm.Form.account.AddToList で
あると分かります。

アプリケーションリボン

エンティティではない画面や、画面左上に表示されている 「ファイル」
メニューなどは、アプリケーションリボンと呼ばれ、エンティティとは
独立して定義を保持しています。

アプリケーションリボンにはいくつかの種類があります。

[ファイルメニュー]
image

[高度な検索リボン]
image

[各種エディターのリボン]
image

上記以外にも特定のエンティティに依存しないリボンや、記事検索のリボン、
ドキュメントなどもアプリケーションリボンとして指定されます。

アプリケーションリボンの各種 ID は以下の手順で特定可能です。

1. sdk\resources\exportedribbonxml フォルダより applicationribbon.xml
を開きます。

2. <UI><Jewel> 配下にはファイルメニューに該当するものが存在します。

3. <UI><Ribbon><Tabs> 配下にはエディター類や高度な検索などの
リボンがあります。名前から判別は容易です。

3. <UI><Ribbon><ContextualTabs> 配下には、記事検索やドキュメント
など、状況に応じて出てくるリボンがあります。

まとめ

リボンの要素を特定するのは一手間かかりますので、上記の手法の
他にも、先日紹介したリボンエディターなどを併用することも検討
してください。

‐ Dynamics CRM サポート 中村 憲一郎