c# - Excel 互操作 : Quitting the Excel application instance makes my tests fail?

标签 c# .net vb.net excel excel-interop

我想封装 Excel Interop 的使用,使其更易于以某种方式在可重用库中使用。

到目前为止,我已经编写了一些运行良好的测试,除了在每次测试之间,我强制 Excel 停止,以便它不再处理测试文件以便能够删除。

一旦我在每次测试后退出应用程序实例,Excel 似乎不再响应,导致 Windows 显示

"Excel has stopped working and is looking for a solution"

消息。此消息持续几秒钟,同时 Excel 正在关闭,导致文件挂起,我的测试抛出类似

的异常

"Cannot access file because it is being used by another process..."

消息。否则,我的每个测试都可以单独运行!

关于如何解决这个问题的任何线索?

我是否过度使用了 ApplicationClass.Quit() 方法?

仅在我的测试完成后退出 Excel 会导致为测试目的创建的文件不可删除。

谢谢! =)

最佳答案

如果您对工作簿 进行了更改,那么它可能是“您希望保存更改吗?”阻碍事情的对话。您可以尝试在退出应用程序之前将 _Workbook.Saved 属性设置为 True。参见 here详情

关于c# - Excel 互操作 : Quitting the Excel application instance makes my tests fail?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5098445/

相关文章:

c# - 在标签中显示多行文本框文本之间的空格

VB.NET DragAndDrop 不适用于控件

c# - 多步算法的设计模式

c# - 测试 MVC Controller 操作 HttpAcceptAttribute 动词

c# - 抽象类型 X 没有映射后代,因此无法映射

c# - IIS 随机错误请求 - 主机名

c# - 将 IEnumerable<dynamic> 转换为 DataTable

c# - 以编程方式将 Microsoft Print 中的文件名和路径设置为 PDF 打印机

mysql - 直接在主表中有一个BLOB字段是否正确?

vb.net - double 计算的值不正确