よく使う VSTO の構文の C# 版です。

最近は社内の SE さんがお客様やパートナー様向けに VSTO のデモをやって頂けたりすることが多くなりました。

自分が好きなツールが広まるのはすごく嬉しいところです。

こんな状況なので、社内の SE さんからも、VSTO のお問い合わせを多く受けたりします。

質問で増えているのは、作業ウィンドウや データソースからの情報の呼び出しにおけるような、基本的な部分での C# での構文を教えてくれということです。

クラスは同じなので、基本的には C# におけるお作法のみとなりますが、やはり、使い慣れてないと少しはまります。(かくいう、私もそうですが。。。)

なので、これまでもいろいろと情報は公開されておりますが、あらためて、いくつかのお作法をお伝えしたいと思います。

作業ウィンドウの表示(ドキュメントレベル)

private UserControl1 uc = new UserControl1();
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
    this.ActionsPane.Controls.Add(uc);
}

※VB編はこちら

https://blogs.msdn.com/saikik/archive/2008/04/17/8401149.aspx

作業ウィンドウの表示(アドインレベル)

private UserControl1 myUc;
        private Microsoft.Office.Tools.CustomTaskPane myUc2;
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
           myUc = new UserControl1();
           myUc2 = this.CustomTaskPanes.Add(myUc, "New Task Pane");
           myUc2.Visible = true;
           myUc2.Width = 300;
        }

※VB編はこちら

https://blogs.msdn.com/saikik/archive/2008/04/28/8435347.aspx

Web サービスからの情報の取得

private ServiceReference1.ServiceSoapClient ws = new ServiceReference1.ServiceSoapClient();
private void Sheet1_Startup(object sender, System.EventArgs e)
{
    this.contactListObject.DataSource = ws.ContactInfo().Contact;
}

※VB編はこちら

https://blogs.msdn.com/saikik/archive/2008/04/28/VSTO-Web-_B530FC30D330B93023903A64_-_5D306E3013FF_.aspx

参考資料:

方法 : カスタム作業ウィンドウをアプリケーションに追加する

https://msdn.microsoft.com/ja-jp/library/aa942846.aspx

CustomTaskPane クラス (2007 System)
https://msdn.microsoft.com/ja-jp/library/microsoft.office.tools.customtaskpane.aspx

※この資料は分かりやすいです。

というところで、VB で公開しているものを C# で公開していく予定です。