我开发了一个Excel COM插件,它通过多个XLSM
文件(阶段),从一个生成一个(使用宏启用模板),复制一些数据,最后创建一个PDF报告。
我最近推出了一个打开2个工作簿的函数,将一个非常大的范围(A1:X500)从Workbook1复制到Workbook2。
//Copy values from W1 to W2
Excel.Worksheet WS_Out = W1.Worksheets["Out"];
Excel.Worksheet WS_In = W2.Worksheets["In"];
WS_In.Range["A1:X517"].Value = WS_Out.Range["A1:X517"].Value;
此代码有时有效。但最近它开始崩溃Excel而没有任何可能捕获错误。
这是一个很难的错误,并使整个系统不稳定。如果它在复制部分没有失败,那么当我尝试以编程方式读取单元格时,它会在下一个工作簿上失败...
关于我可能做错什么的任何信息?
我修改了之前的阶段并确保我发布了我可能已经制作的任何工作表或工作簿参考(通过使用Marshal.ReleaseComObject
函数)