【发布时间】:2013-12-11 21:46:48
【问题描述】:
我有以下 VBA 代码来提取给定目录中的所有文件。
Sub extractAllFiles()
Dim MyObj As Object, MySource As Object, file As Variant
Dim shellStr As String
file = Dir("C:\Downloads\")
While (file <> "")
If InStr(file, ".gz") > 0 Then
shellStr = "winzip32 -e C:\Downloads\" & file & " C:\Downloads\"
Call Shell(shellStr, vbHide)
End If
file = Dir
Wend
End Sub
当我执行这个子例程时,我得到一个运行时错误 53,“找不到文件”错误。当我复制 shellStr... 示例:winzip32 -e C:\Downloads\file1.gz C:\Downloads\ 并从命令提示符处执行它时,它可以完美运行!我将 file1.gz 中的文本文件提取到下载目录中。但是从 VBA 运行它似乎不起作用。
谁能解释一下?
【问题讨论】: