我想从网络共享驱动器上的zip文件中提取文件。但是,sub正在抛出异常 - VBScript runtime error: Object required: 'objTarget'
我这样称呼子:
Extract "\\driveName\Folder\Path\Here" & file, "\\driveName\Folder\Path\Here\Unzipped"
这很奇怪,因为设置objSource
的代码可以正常工作,但是当代码尝试设置objTarget
时,它会出错。此外,当我指定本地驱动器时,它可以正常工作。我假设我必须做一些修改才能使其正常运行(如果可能的话)。以下是子:
Sub Extract(ByVal myZipFile, ByVal myTargetDir)
Dim intOptions, objShell, objSource, objTarget
' Create the required Shell objects
Set objShell = CreateObject("Shell.Application")
' Create a reference to the files and folders in the ZIP file
Set objSource = objShell.NameSpace(myZipFile).Items()
' Create a reference to the target folder
Set objTarget = objShell.NameSpace(myTargetDir)
intOptions = 4
' Unzip the files
objTarget.CopyHere objSource, intOptions
' Release the objects
Set objSource = Nothing
Set objTarget = Nothing
Set objShell = Nothing
End Sub
有什么想法吗?谢谢!
答案 0 :(得分:1)
尝试引用网络路径。所以你的命令是:
Extract "\\driveName\Folder\Path\Here\" & file, """\\driveName\Folder\Path\Here\Unzipped"""
答案 1 :(得分:1)
该错误的其他可能原因:
If objTarget Is Nothing Then
WScript.Echo "Target path not exist"
Else
objTarget.CopyHere objSource, intOptions
End If
答案 2 :(得分:1)
如果所有其他方法都失败了,您可以手动打开文件并删除zip标题。显然,zip标头是一些字符和一个以空字符结尾的字符串,如果删除它们,文件将解压缩。 http://tek-tips.com/viewthread.cfm?qid=1302498提供了更多信息,大约是线程的一半。