2011-09-16 83 views
0

我想從C#中調用UDF中的EXCEL?當我打開EXCEL從開始 - >親UDF函數works.but當我嘗試從C#自動化應用公式 我得到名稱?#下面的任何幫助是它的代碼從.net調用excel UDF?

Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application(); oXL.Visible = true; Microsoft.Office.Interop.Excel._Workbook oWB; Microsoft.Office.Interop.Excel._Worksheet oSheet;

 oWB = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(System.Reflection.Missing.Value)); 

     oXL.AddIns.Add("ciqfunctions.udf", false) 

     Microsoft.Office.Interop.Excel.AddIn adc = oXL.AddIns.Item["Capital IQ Worksheet Functions"]; 
     adc.Installed = true; 
     oXL.AddIns.Add("ciqfunctions.udf", false).Installed = true; 

     all below register xlls returns false.any idea 

     bool clloaded = oXL.RegisterXLL(@"C:\Program Files\Capital IQ\Office Plug-in\ciqfunctions.xll"); 

     bool clloaded1 = oXL.RegisterXLL("ciqfunctions.xll"); 

     bool clloaded2 = oXL.RegisterXLL("ciqfunctions.udf"); 

     bool clloaded3 = oXL.RegisterXLL(oXL.DefaultFilePath + "\\CIQAddinLib.dll"); 


     I am applying formula by creating range 

和range.formula =「=某些udf公式」,但它把名稱#?任何想法

回答

0

我覺得這條線是確定的,應該工作,幾乎是:

oXL.AddIns.Add("ciqfunctions.udf", false).Installed = true; 

至少根據我的讀數。與該文件在你的情況的完整路徑嘗試它是這個:

@"C:\Program Files\Capital IQ\Office Plug-in\ciqfunctions.xll" 

一切似乎是確定,步驟也在這裏顯示:

Loading an Excel Add-in