作成したExcelアドインがあります。私がやりたいのは、c#(ASP.NET)でExcelドキュメントを開き、アドインでコードを実行してから、ExcelドキュメントをHTMLページとして返すことです。
これはできますか?
作成したExcelアドインがあります。私がやりたいのは、c#(ASP.NET)でExcelドキュメントを開き、アドインでコードを実行してから、ExcelドキュメントをHTMLページとして返すことです。
これはできますか?
Comアドインでは、次を追加する必要がありました:
public partial class ThisAddIn
{
...
protected override object RequestComAddInAutomationService()
{
if (addinUtilities == null)
{
addinUtilities = new AddinUtilities();
}
return addinUtilities;
}
...
}
この関数からオブジェクトを返す必要があります。このオブジェクトは、後で以下のコード スニペットのように相互運用で使用できます。このオブジェクトに公開したい機能を追加します。
次に、アドインを次のように使用します。
Application app = new Application();
var myAddin = app.COMAddIns;
var count = myAddin.Count;
COMAddIn addin;
for (int i = 1; i <= count ; i++) // not zero indexed
{
addin = myAddin.Item(i);
var ob = addin.Object;
var str = addin.ProgId;
if (ob != null)
{
ob.RunQuery(ws);
}
}
ご覧のとおり、アドインを特定する適切な方法が見つかりませんでした (知りたい方法を知っている人がいれば) が、それらを反復して progId を確認することはできます。
addin.Object
から返されたオブジェクトRequestComAddInAutomationService
です。