2011-07-26 65 views

回答

0

在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返回的對象。