Tag: jruby

win32ole进程仍在ruby中运行

我知道这个问题已经被直接使用VB时被问到,但是我在终止一个进程时遇到了麻烦。 我使用的是win32ole和ruby 1.9的jruby版本。 我目前的代码是这样的: begin excel = WIN32OLE::connect('excel.Application') rescue excel = WIN32OLE::new('excel.Application') end excel.Visible = 1 workbook = excel.Workbooks.Open("path to some doc") ws = workbook.Worksheets(1) ws.Select cell_content = ws.Cells(4,4).Value puts("#{cell_content}") workbook.Close cell_content = nil ws = nil workbook = nil excel.ole_free excel = nil GC.start 我试图简单地打开excel,得到一个值并终止。 但是当我查看任务pipe理器时,我仍然看到EXCEL.exe正在运行。 由于开始救援,它也应该打开一个现有的EXE,但每次运行它,它启动一个新的过程。 一旦脚本停止手动closuresExcel,但我也尝试使用excel.Close。 我是否需要调用Marshal.releaseComObject的ruby等价物? 我没有很多VB的经验,我对Ruby比较新,所以如果这是一个愚蠢的问题,我很抱歉,但是要提前感谢! 编辑:我也尝试使用excel.quit和excel.Quit,对不起,我忘了提及。 似乎都没有工作。 编辑2:我在运行rubymine和使用Windows XP,使用gem:jruby-win32ole […]