dcl1214 发表于 2023-6-22 16:54:00

Lisp调用excel后执行quit任务管理中进程无法退出的原因

本帖最后由 dcl1214 于 2023-6-22 16:55 编辑

当我们调用excel执行文件保存后,通常执行quit就可以将excel进程退出,当时,经常会发现quit以后任务管理里面的excel进程依然存在,此现象不仅cad这边经常碰到,excel的开发人员也经常碰到,我也因为这个困惑了很久,今天终于找到了一个方法,各位同仁一起测试一下

      (vlax-invoke-method
(vlax-get-property xlapp 'activeworkbook)
'Close
      )
      (repeat 5
(vl-catch-all-apply 'vlax-invoke-method (list xlapp 'Quit))
      )
      (gc);好像这里是关键
      (setq xlapp nil)
以上代码中我们先关闭活动工作簿,然后执行quit,如果无法退出,后面的(gc)执行后,一般都会退出

PGJ 发表于 2023-6-22 19:51:24

多谢分享,我也遇到过同样的问题

yhly555 发表于 2023-7-31 21:30:11

我还遇到无法检查到安装,必须手动启动excel才能检查到安装。

nxchenjk 发表于 2023-8-2 17:02:21

yhly555 发表于 2023-7-31 21:30
我还遇到无法检查到安装,必须手动启动excel才能检查到安装。

请问你的问题解决了吗?我也遇到了同样的问题,谢谢。

nxchenjk 发表于 2023-8-2 17:05:31

(vlax-invoke ExcelFile "close")
(vlax-invoke ExcelApp "quit")
(vlax-release-object ExcelApp) 试一下。

yhly555 发表于 2023-8-17 21:29:14

nxchenjk 发表于 2023-8-2 17:02
请问你的问题解决了吗?我也遇到了同样的问题,谢谢。

目前还找不到解决方法,我试了用程序启动excel,虽然启动了,但台还是检测不到,我现在是能手动先启动excel程序后再运行程度。

kozmosovia 发表于 2023-8-17 21:40:05

用WMI遍历得到Excel进程kill掉
页: [1]
查看完整版本: Lisp调用excel后执行quit任务管理中进程无法退出的原因