Foxtable(狐表)用户栏目专家坐堂 → excel 进程无法退出


  共有2146人关注过本帖树形打印复制链接

主题:excel 进程无法退出

帅哥哟,离线,有人找我吗?
puma
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:365 积分:3056 威望:0 精华:0 注册:2023/6/7 16:07:00
excel 进程无法退出  发帖心情 Post By:2024/2/26 8:35:00 [只看该作者]

问题: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)
....代码

dwb.Close(SaveChanges:=True) '顺序不能更改
swb.Close(SaveChanges:=False) '顺序不能更改
App.quit

图片点击可在新窗口打开查看此主题相关图片如下:下载.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
Catch ex As Exception
   msgbox(ex.message)
App.quit
End Try

 回到顶部
帅哥哟,离线,有人找我吗?
puma
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:365 积分:3056 威望:0 精华:0 注册:2023/6/7 16:07:00
  发帖心情 Post By:2024/2/26 10:25:00 [只看该作者]

没有异常

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/26 10:27:00 [只看该作者]

那就不是程序的问题。App.quit肯定可以正常退出的。要么是之前残留的进程,要么是其它软件比如杀毒软件的原因

 回到顶部
帅哥哟,离线,有人找我吗?
puma
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:365 积分:3056 威望:0 精华:0 注册:2023/6/7 16:07:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:365 积分:3056 威望:0 精华:0 注册:2023/6/7 16:07:00
  发帖心情 Post By:2024/2/26 15:02:00 [只看该作者]

我感觉,退出的时候,只是关闭excel,没有终止进程
以下是引用有点蓝在2024/2/26 10:27:00的发言:
那就不是程序的问题。App.quit肯定可以正常退出的。要么是之前残留的进程,要么是其它软件比如杀毒软件的原因我


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/26 15:17:00 [只看该作者]

App.quit肯定可以正常退出,包括中止进程
[此贴子已经被作者于2024/2/26 15:17:24编辑过]

 回到顶部