关闭文件后杀死在后台保持打开状态的 Excel 进程

松鸦步行

我正在编写一个程序,在其中打开 Excel 文件并将其迁移到另一个主文件中。之后我想删除它。当我尝试删除文件时,出现权限被拒绝错误。

在线研究后,我确实看到我犯了一些错误,然后确保正确关闭文件并销毁相关对象,但我仍然收到错误消息。

Sub Test()
    Dim app as New Excel.Application
    Dim wb as Workbook
    Set wb.app.Workbooks.Open(FILEPATH & "\filename.csv") 
    'I know the filepath is correct as I can open and manipulate the file

    '... Do things

    wb.close
    Set wb = Nothing
    kill FILEPATH & "\filename.csv"
    'I plan on adding error handling once the basic function works
End Sub

运行时错误“70”:权限被拒绝

编辑:在调试后我可以说我可以成功销毁对象,但是 Excel 进程在后台保持打开状态,我必须在任务管理器中手动杀死它才能使代码正常工作。

EDIT2:我解决了我的问题。我想通过 VB 脚本在 Excel 之外运行这个程序。我完成了它,之前没有打开过 Excel。一切正常删除。

费迪南德

这是您的代码示例,对我来说效果很好:

Sub Test()
Dim app As New Excel.Application
Dim wb As Workbook
Dim path As String
path = "your path"

Set wb = app.Workbooks.Open(path & "\dati.xlsx")
'I know the filepath is correct as I can open and manipulate the file

'... Do things
wb.Sheets(1).Range("A1:E20").Copy
ThisWorkbook.Worksheets("Sheet1").Range("A10").PasteSpecial xlPasteValues

wb.Close

Set wb = Nothing

Kill path & "\dati.xlsx"
'I plan on adding error handling once the basic function works
End Sub

我已经创建了文件 dati.xlsx.I 从 sheet1(文件 data.xlsx)复制范围 A1:E20 并将数据粘贴到 sheet1(工作表中的宏)。结果是数据和删除文件data.xlsx

当你写 Set wb.app 时,在你的邮政编码中支付 Attantion ......有一个错误......

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

关闭窗口后,进程保持打开状态

终端关闭后后台进程被杀死

Excel 进程使用 C# 在后台运行

关闭由 Access 创建的 Excel 实例后留下的 Excel 进程

杀死在Matlab中创建的Excel进程

Excel将不会关闭进程

我如何找到有关系统进程保持打开状态的文件句柄的更多信息?

在 Java 中打开新进程并保持当前进程处于打开状态

关闭终端后在后台运行进程

在其他进程打开时写入Excel文件

杀死通过子进程在后台启动的SimpleHTTPServer进程

杀死由特定应用程序启动的 excel 进程

如何在后台保持sshpass进程?

如何在PowerShell脚本之后停止Excel进程在后台运行?

通过Powershell关闭时无法停止所有Excel进程

如何在不保持批处理文件打开的情况下在后台运行进程?

如何使用python通过子进程与Excel文件通信?

自动关闭后台进程

PermissionError [WinError 32]:使用xlwings打开excel文件后,另一个进程正在使用该文件

Android-在后台杀死相机进程

进程在后台启动之前被杀死

当进程被杀死时,丢弃打开的文件

退出后,MSAccess.EXE在后台保持打开状态:VBA /表单对象问题

如何杀死管道后台进程?

bash关闭钩;或者,当主进程被杀死时,杀死所有后台进程

设置特定的xlsx文件以始终打开唯一的EXCEL.EXE进程

关闭PuTTY或终端后保持进程运行

Excel该进程无法访问该文件,因为它正在被另一个进程使用

无法关闭进程但杀死了