Office 2007 ユーザーインターフェースのカスタマイズ(リボンデザイナ編 その②)

さて、今回は VSTO によるOffice 2007 ユーザーインターフェースのカスタマイズの続編となります。

前回はリボンデザイナによるカスタマイズの基本的なところをお伝えしました。

今回は前回の続き、カスタムタブのグループを既定のタブのグループの前後に置く方法と Office メニューのカスタマイズについてご紹介したいと思います。

カスタムタブのグループを既定のタブに配置する方法

ここでは前回使用した Excel ブックのソリューションをそのまま利用します。

ホームタブのクリップボードグループの後に "Group1" グループを配置したいと思います。

 image

手順:

1. 前回利用した Excel ブックのソリューションを起動します。

 image

2. "Group1" のグループのプロパティを表示します。

 image

3. [Position Type] を "AfterOfficeID" にして、[OfficeID] を "GroupClipboard" にします。

※ [Position Type] は "BeforeOfficeID" と "AfterOfficeID" を選ぶことができます。

これは特定のオブジェクトの前後どちらかに配置するかを設定するプロパティです。

また、"GroupClipboard" とは、"ホーム" タブの "クリップボード" グループを意味します。

ですので、ここでは、"クリップボード" グループの後にカスタムグループの "Group1" を配置するという意味になります。

OfficeID については前述しました以下に一覧の記載がありますので、こちらをご確認ください。

2007 Office System Document: Lists of Control IDs

https://www.microsoft.com/downloads/details.aspx?familyid=4329d9e9-4d11-46a5-898d-23e4f331e9ae&displaylang=en

4. ここでデバッグします。

下記のとおり、、"クリップボード" グループの後にカスタムグループの "Group1" が配置されていることが確認できると思います。

 image

このように既定のタブで既定のグループの前後にカスタムグループを配置することが可能です。

Office メニューのカスタマイズについて

続きまして、Office メニューのカスタマイズについてご紹介したいと思います。

なお、ここでも、これまで利用してきた Excel ブックのソリューションを利用したいと思います。

手順:

1. リボンのデザイナで [Office ボタン] の [三角矢印]をクリックしメニュー領域を表示します。

 image

2. メニュー領域に Office リボンコントロールから "Menu" を配置します。

 image

3.[Menu] の [三角矢印] をクリックして、カスタムメニュー領域を表示し、"Button" コマンドを配置します。

※Button3 のコードに適当なコマンドを記載します。

ここでは例として、メッセージボックスを表示するようにしています。

 image

4. デバッグします。

ご覧のようにカスタムメニューが表示されその中のコマンドが表示されます。

image

※カスタムメニューを既定のコマンドの前後に配置することも可能です。

前述したカスタムグループの配置と考え方は同様です。

以下の図の例は"新規作成"メニューの下にカスタムメニューを配置しています。

 image

このように VSTO のリボンデザイナを利用してできることについて、記載させていただきました。

次回(?)はデザイナではできないことを実現できるリボンの XML を利用したカスタマイズをご紹介できればと思います。

ただ、次回は別のトピックになるかもしれません。(笑)