カスタム作業ウィンドウの追加について(アドイン編)

数回前にカスタム作業ウィンドウの追加をドキュメントレベルのソリューションで実現する方法についてご紹介させていただきました。

今回はアドインレベルのソリューションにおいて、カスタム作業ウィンドウを作成する方法について、ご紹介したいと思います。

例えば、アドインレベルのカスタム作業ウィンドウは例えば以下のような感じです。

図1 アドイン起動前 

[アドイン]タブで[見積りグループ]で[作業ウィンドウ]を開くをクリックする。

image

図2 アドイン起動後

右側にカスタム作業ウィンドウが起動

image

上記は Word ですが、手順については Excel で紹介したいと思います。

そのほうがニーズがありそうですので。

手順:

1. VS を起動して、[新しいプロジェクト]を選択しExcel アドインソリューションを選択し、[OK] をクリックします。

image

2. ソリューションが起動しますので、[プロジェクト]-[ユーザー コントロールの追加]-[新しい項目の追加]から、[ユーザーコントロール]を選択し、[追加]をクリックします。

image

3. ユーザーコントロールのデザイナの画面が起動しますので、適当な大きさにコントロールを広げます。

※このコントロールは Windows フォームベースになっていますので、Windows フォームで利用できるコントロールはすべて利用可能です。

image

4.ユーザーコントロールに任意のコントロールを追加します。

※ここでは、ボタンコントロールを追加しており、メッセージボックスを表示するコマンドを入力しています。

5.ThisAddIn.vb の Start Up イベントで以下のコードを入力します。

image

※アドインが起動したときの処理を実装します。ここでは、カスタム作業ウィンドウを起動するためのコードを記載しています。

Dim usercontrol1 As New UserControl1
Dim customTaskPane As Microsoft.Office.Tools.CustomTaskPane

usercontrol1 = New UserControl1
customTaskPane = Me.CustomTaskPanes.Add(usercontrol1, "アドインカスタム作業ウィンドウ")

'カスタム作業ウィンドウの位置を設定します。
customTaskPane.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight
'カスタム作業ウィンドウの表示を設定します。
customTaskPane.Visible = True

※カスタム作業ウィンドウの位置は既定で右側に表示されます。

.DockPosition プロパティは記載することで、明示的にカスタム作業ウィンドウの位置を設定できます。

また、.Visible プロパティは必須です。

以下のように With 変数を利用して、一括して、プロパティを設定することも可能です。

'With 変数でプロパティを設定します。

With customTaskPane

' カスタム作業ウィンドウの位置を右側に設定します。

.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight

.Visible = True

End With

6. ここでデバッグすると、以下のようにカスタム作業ウィンドウが表示されます。

image

ということで、このような感じでアドインベースソリューションのカスタム作業ウィンドウの作成方法を記載いたしました。

今回はスタートアップからカスタム作業ウィンドウを起動していますが、リボンコントロールでカスタムメニューを作成し、カスタムコマンドから、図1 のようなカスタム作業ウィンドウを起動することも可能です。