2012-01-20 11 views
1

Excelアドインを作成したいと思います。しかし、私はそれが特別な行動をしたい。ExcelアドインアプリケーションをC#で作成する

問題は、開発したExcelアドインがExcel内にとどまることです。 Windowsから通常のExcelインスタンスを実行しても...

私が望むのは、正確には、自分のC#_madeで起動されたExcelのリボンにしか表示されないExcelの追加応用。

どうすればよいですか?

動作は次のようになります。

  • は、こののリボンに新しいタブが追加されます(とその要素)
  • 私のC#アプリケーションが
  • 私のC#アプリケーションの新しいExcelのインスタンスを呼び出します私のC#アプリケーションを実行しますExcelのインスタンス
  • 私のC#アプリケーションは、タブの要素にバインドされたアクションを追加します。
  • Excelのインスタンスが閉じられています>追加されたすべてのコンポーネント、関数、メソッドを削除します...
  • ここにあなたのための素晴らしいチュートリアルです
+0

現在アクティブなアドインを切り替える方法については、Excel.Applicationを見てください。実際のアプリケーションにはそういうものがあるので、私はC#interopに同じようなものがあると仮定しています。私はあなたがそれを解決していない場合は、後であなたをもっと助けます、現在急いで.. :)幸運! –

答えて

1

私のC#のappliclationを閉じます:http://www.add-in-express.com/free-addins/net-excel-addin.php

編集:

はあなたがサーバーにアプリを起動するたびに、それを再び有効、ちょうどアドインを無効にする考えがありますが、バックグラウンドで実行され、Excelが閉じられると、アドインは無効になりますか?ここで

は私がfound hereいくつかのアンロードコードです:

private void UnloadBadAddins(bool unloadAddin) 
{ 
    const string badAddin = "iManage Excel2000 integration (Ver 1.3)"; 

    foreach(Office.COMAddIn addin in this.ExcelApp.COMAddIns) 
    { 
     if (addin.Description.ToUpper().Contains(badAddin.ToUpper())) 
     { 
      if (addin.Connect == unloadAddin) 
      { 
       addin.Connect = !unloadAddin; 
       return; 
      } 
     } 
    } 
} 
+0

私はあなたが彼の質問を正しく読むとは思わない。彼は一般的にaddinsを作成/使用する方法ではなく、interopを通してExcelで特定の機能を有効にする方法を尋ねています。 –

+0

質問に答えて編集しました。 :) –

+0

それは素晴らしい仕事をした!それはまさに私が望んでいたものです!あなたがた両方に感謝します ! – Jsncrdnl

1

私はMicrosoft.Office.Interop.Excel.Applicationクラスに次の2つのプロパティを発見した:たぶん、これらのアプリケーションの間にアドインを削除/あなたがプログラムで追加することができます

var excel = new Application(); 
excel.AddIns 
excel.AddIns2 

を走る?

0

http://npoi.codeplex.com/

これは、C#で書かれたExcel文書、で作業するための優れたフレームワークです。

希望します。

関連する問題