none
调用excel vba分析工具库 错误 RRS feed

  • 问题

  •  Range dRange = ws.get_Range("$C$1", "$C$" + RowCount);
                        Range eRange = ws.get_Range("$D$1", "$G$" + RowCount);
                        //Workbook wb2 = xlApp.Workbooks.Open("C:\\Program Files (x86)\\Microsoft Office\\Office14\\Library\\Analysis\\ATPVBAEN.XLAM", miss, miss, miss, miss, miss, miss, miss, miss, miss, miss, miss, miss, miss, miss);
                        xlApp.AddIns2.Add("ATPVBAEN.XLAM", true);
                        xlApp.RegisterXLL("ATPVBAEN.XLAM");
                        
                         int adins = 0;
                        foreach (AddIn adi2 in xlApp.AddIns2)
                        {
                            adins++;
                            xlApp.AddIns2[adins].Installed = true;
                            
                            bool s = xlApp.AddIns2[adins].IsOpen;
                            string name2 = adi2.Name;
                        
                        }
    
                        object RetRegress = xlApp.Application.Run("Regress", dRange, eRange);

    运行报“System.Runtime.InteropServices.COMException (0x800A03EC): 无法运行“Regress”宏。可能是因为该宏在此工作簿中不可用,或者所有的宏都被禁用。”

    安装的是office 2012, Excel 加载项都已经勾选

     bool s = xlApp.AddIns2[adins].IsOpen;

    全是false 。

    如果手动操作,在当前workbook 里,选择加载项 -浏览 - 找到 

    ATPVBAEN.XLAM

    文件,确定开个后。 再运行

     object RetRegress = xlApp.Application.Run("Regress", dRange, eRange);

    就可以输出回归统计。

    什么原因呢? 现在是程序操作,不能手工打开浏览。。

    有没有方法自动打开加载项 ? 或者是我的代码写的不对?


    2013年3月29日 4:24

全部回复