1

C# プログラム内で Excel を実行 (開き) し、特定のアドインを同時にロードしたいと考えています。これは可能ですか?C# プログラムは、独自の特定の Excel ソリューション (VSTO で開発された特定のアドイン (DLL) を含む Excel) を開く一種のランチャー EXE である必要があります。アドイン (そこにあるリボン) はゼロから開始されるため、他のすべての組み込みタブは非表示になっています。アドインは、ランチャー EXE によって Excel が起動されたときにのみ読み込まれます。

たとえば、Excelを次のように起動できることを知っています

 ProcessStartInfo startInfo = new ProcessStartInfo();
 startInfo.FileName = "EXCEL.EXE";
 Process.Start(startInfo);

しかし、新しい Excel プロセスと言う可能性はありますか? どのアドインをロードする必要がありますか?

4

2 に答える 2

0

これは、レジストリをハッキングすることで実現できます。Excel を起動する前にレジストリに移動し、起動時に表示するアドインのロード動作を Load(3) に設定します。ランチャーで Excel プロセスが起動された後、これらのアドインの読み込み動作を unload(0) にリセットして、誰かが Excel を起動したときにこのアドインが表示されないようにします。ランチャー コードは次のようになります。

// Code to change load behavior of addins to Load
   ProcessStartInfo startInfo = new ProcessStartInfo();
   startInfo.FileName = "EXCEL.EXE";
   Process.Start(startInfo);
// Code to change load behavior of addins to UnLoad
于 2013-06-13T04:43:49.360 に答える