从.net调用excel UDF?

时间:2011-09-16 01:07:13

标签: c# .net c++ excel

我试图从C#中调用excel中的UDF?当我从开始打开excel时 - > pro UDF功能正常工作。但是当我尝试应用公式时 从C#自动化我得到名字?#下面的任何帮助是代码

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公式”但是它会把名字#?任何想法

1 个答案:

答案 0 :(得分:0)

我认为这条线路还可以,几乎可以工作:

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

至少根据我的读数。尝试使用文件的完整路径,在您的情况下是这个:

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

其他一切似乎都没问题,步骤也在这里显示:

Loading an Excel Add-in