我正在使用从WScript.Shell调用的简单ZIP / UNZIP实用程序(http://infozip.sourceforge.net/)。
strPath = CurrentProject.Path & "\Backend_Databases\"
strPathUtil = CurrentProject.Path & "\Backend_Databases\DB_Utilities\"
ChDir strPath
strCMD = strPathUtil & "UNZIP.exe -o Item_4892.zip"
fShellRun (strCMD)
这种方法我没有结果,也没有抱怨。生成的strCMD如下所示:
C:\Users\Mark\Desktop\Backend_Databases\DB_Utilities\UNZIP.exe -o Item_4892.zip
此行完全按照预期在命令窗口中工作。 fShellRun可以按我的AccessDB中使用的其他Shell命令正常工作。
注意:在初始测试中,我可以保证这与上周一样有效,但现在看来我似乎还无法弄清楚。这让我彻底发呆了!也许我离这太近了,我缺少明显的东西。
有什么想法吗?
答案 0 :(得分:0)
以下作品。我原来的fShellRun是很久以前为其他目的定制的,并且与该任务不兼容。
以下内容非常简单且实用,可以静默运行:
Private Sub UnzipTest_Click()
Dim oShell
Dim strFile As String
Dim strPath As String
Dim strPathUtil As String
Set oShell = CreateObject("WScript.shell")
strFile = Me!txtFilename
strPath = CurrentProject.Path & "\Backend_Databases\"
strPathUtil = CurrentProject.Path & "\Backend_Databases\DB_Utilities\"
strCMD = strPathUtil & "UNZIP.exe -o " & strPath & strFile & " -d " & strPath
oShell.Run strCMD, 0, True
Set oShell = Nothing
End Sub
注意:这指向第3方UNZIP实用程序,而不是std Windows ZIP实用程序。 UNZIP.exe保留在我的“ ... \ DB_Utilities”文件夹中。 http://infozip.sourceforge.net/