以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- excel 进程无法退出 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190616) |
-- 作者:puma -- 发布时间:2024/2/26 8:35:00 -- excel 进程无法退出 问题:excel 进程无法自动退出,每次需要手动关闭进程? 还有其他关闭的命令吗? 一个 app 进程只能打开一个excel文件? 代码 Dim App As New MSExcel.Application App.Visible = True app.EnableEvents =False app.DisplayAlerts = False \'关闭excel 警告 app.AskToUpdateLinks = False \'关闭excel 数据更新提示 Dim sWb As MSExcel.Workbook \'原始文件 Dim dwb As MSExcel.Workbook \'目标文件 swb = app.Workbooks.Open(FileName:=sFilePath , UpdateLinks:=0)....代码 |
-- 作者:有点蓝 -- 发布时间:2024/2/26 8:41:00 -- 放到try里面 Dim App As New MSExcel.Application Try App.Visible = True app.EnableEvents =False ....代码 dwb.Close(SaveChanges:=True) \'顺序不能更改 swb.Close(SaveChanges:=False) \'顺序不能更改 App.quit msgbox(ex.message) App.quit
End Try |
-- 作者:puma -- 发布时间:2024/2/26 10:25:00 -- 没有异常 |
-- 作者:有点蓝 -- 发布时间:2024/2/26 10:27:00 -- 那就不是程序的问题。App.quit肯定可以正常退出的。要么是之前残留的进程,要么是其它软件比如杀毒软件的原因 |
-- 作者:puma -- 发布时间:2024/2/26 15:00:00 -- 有时候可以退出,有时候有残留。 我只能用方法终止,进程。 Public Function KillExcel() Dim processName As String = "EXCEL" \'将此处的“processname”更改为需要关闭的进程名称或ID For Each proc In Process.GetProcesses() If proc.ProcessName.ToLower().Contains(processName.ToLower()) Then If proc.MainWindowTitle = "" Then proc.Kill() End If End If Next End Function |
-- 作者:puma -- 发布时间:2024/2/26 15:02:00 -- 我感觉,退出的时候,只是关闭excel,没有终止进程 以下是引用有点蓝在2024/2/26 10:27:00的发言:
那就不是程序的问题。App.quit肯定可以正常退出的。要么是之前残留的进程,要么是其它软件比如杀毒软件的原因我 |
-- 作者:有点蓝 -- 发布时间:2024/2/26 15:17:00 -- App.quit肯定可以正常退出,包括中止进程 [此贴子已经被作者于2024/2/26 15:17:24编辑过]
|