首页 > 解决方案 > 如何在 VBA 中释放由 Shell 创建的文件的文件锁定?

问题描述

此命令生成一个输出文件:

更新:查看新命令

Shell "cmd /c fc file1 file2 > result.txt"

我最初没有cmd /c在命令的前面使用:

Shell "fc file1 file2 > result.txt"

未能生成预期的 result.txt 文件。我不知道为什么。包括cmd /c在命令的前面使其工作。

随后的Open语句得到“路径/文件访问错误”

iFile = FreeFile
Open "result.txt" For Input As iFile

文件和父目录均未在 Windows 资源管理器中打开。

以下更改无济于事(TaskKillAccessRead):

vPID = Shell("cmd /c fc file1 file2 > result.txt", vbHide)
Shell "TaskKill /F /PID " & CStr(vPID), vbHide
iFile = FreeFile
Open "result.txt" For Input Access Read As iFile

如果该Open语句作为单独的后续进程运行,则该语句有效。

如何Open在同一过程中做到这一点?

标签: vbashellfile-accessfilelock

解决方案


推荐阅读