CodeZine(コードジン)

特集ページ一覧

VSTOでExcel 2007のカスタムリボンを作成する ~ その2 ~

Excel 2007のカスタムリボンの作成 2

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/05/28 14:00

目次

グループコントロールの操作

グループコントロールについて

 ツールボックスの[Office リボン コントロール]にあるコントロールは、TabコントロールとGroupコントロールを除き、グループコントロール上にしか配置することができません。グループコントロールは、カスタムリボンを作成する上で重要なコントロールです。

グループ名称の変更

 グループ名の変更についても、もう一度説明しておきましょう。

 リボンを新規追加した時点ではタブが1つと、その中に含まれる[Group1]というグループコントロールが1つ存在します。配置されたグループコントロールの名称を変更したい場合は、リボンデザイナ上で[Group1]を選択し、Labelプロパティを修正します。今回は「マイグループ1」とします。

 

グループの追加

 グループを追加する場合は、ツールボックスの[Office リボン コントロール]から既存のタブの上へ、Groupコントロールをドラッグ&ドロップします。既存のグループコントロールがある場合は、右または左の好きな位置へ配置することが可能です。追加できたら、Labelプロパティの値を「マイグループ2」とし、グループ名称を変更しましょう。

 

グループの表示/非表示

 グループコントロールもタブ同様、Visibleプロパティを使用して表示/非表示を設定することが可能です。

リボンダイアログランチャーの追加

 リボンダイアログランチャー(以降ダイアログランチャー)とは、グループ内に表示される小さいアイコンのことです。

 

 ★↓若干変更しました。文意に変更がないかご確認ください。

 ユーザーがこのアイコンをクリックするとDialogLauncherClickイベントが呼び出されます。この処理内からカスタムダイアログボックスを表示させることができます。たとえば、[ホーム]タブ内の[フォント]グループの場合、右下のダイアログランチャーをクリックすると「セルの書式設定」ダイアログが表示されます。

 

独自のダイアログランチャーを追加する

 ★↓多少変更しました。文意に変更がないかご確認ください。

 新規作成タブにデフォルト設定されるグループコントロール、および後から追加したグループコントロールは初期状態のままではダイアログランチャーを使用することができません。機能を追加するためには下記の手順を行う必要があります。

  1. ダイアログランチャーを追加するグループを選択(ここでは「マイグループ1」)
  2. 表示された三角の小さなアイコンをクリック
  3. 表示された[GroupViewタスク]の[DialogBoxLauncherの追加]をクリック
 

 上記の手順を行うと「マイグループ1」の右下に、ダイアログランチャーアイコンが追加されます。またプロパティウィンドウのDialogLauncherにも項目が追加されます。

 
 

 では、ダイアログランチャーアイコンがクリックされたときにWindowsフォームを表示するようにしてみましょう。まずプロジェクトにWindowsフォームを1つ追加し、プロパティを下記のように設定してください。

項目名 設定値
Name Form1(初期値のまま)
Text My First Dialog

 次にリボンデザイナへ戻って、下記の手順を行います。

  1. 「マイグループ1」を選択
  2. プロパティウィンドウのイベント(カミナリマーク)ボタンを押下
  3. イベントの[DialogLauncherClick]をダブルクリック

 生成されたイベントに下記の要領でコードを記述してください。

VB.NET
Private Sub Group1_DialogLauncherClick( _
    ByVal sender As System.Object, _
    ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs _
    )Handles Group1.DialogLauncherClick

    Dim frmDL As New Form1

    If (frmDL.ShowDialog() = DialogResult.OK) Then

    End If
End Sub
C#
private void group1_DialogLauncherClick(object sender, RibbonControlEventArgs e)
{
    Form1 frmDL = new Form1();

    if (frmDL.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
    }
}

 コードの記述が終わったら、[F5]キーを押して実行してみましょう。

 [マイタブ1]-[マイグループ1]のダイアログランチャーアイコンをクリックします。追加したWindowsフォームが表示されましたね。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:VSTOでExcel 2007のカスタムリボンを作成する

著者プロフィール

  • HIRO(ヒロ)

    HIRO's.NETのHIROです。 とある半導体工場のSEです。 VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。 最近はBlog でPowerShellについて書いています。 2008/07/07にPowerShell from Japan!!という...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5