我正在使用Groovy 1.7.0的Scriptom扩展,以便在Windows XP下使用Excel2007自动执行一些处理。
尽管我在Excel activeX对象上调用了quit,但这似乎总是让excel进程保持运行。(在Scriptom示例文档中也有对此现象的附带引用。)
代码看起来像这样:
import org.codehaus.groovy.scriptom.ActiveXObject;
def xls = new ActiveXObject("Excel.Application")
xls.Visible = true
// do xls stuff
xls.Quit()可见的excel窗口确实消失了,但在任务管理器中留下了一个EXCEL进程(每次运行脚本都会堆积更多的进程)。
没有错误消息或异常。
谁能解释一下为什么Excel进程被抛在了后面,有什么方法可以防止它发生吗?
发布于 2010-06-29 20:12:02
这是可行的:
xls.Quit()
Scriptom.releaseApartment()javadocs状态:
在某些情况下,JVM可能会在一切清理完成之前关闭,这可能会使自动化服务器(尤其是Excel)挂起。在脚本退出之前调用此函数,以便从自动化服务器获取正确的行为。
发布于 2010-05-06 04:04:09
看起来你好像失踪了
xls.release();就像here做的那样。
https://stackoverflow.com/questions/2462798
复制相似问题