pswd で保護された、抽出する 1000 個の zip ファイルがあります。.zip ファイルを読み取るたびに、pswd に各ファイルを要求します。すべてのファイルのpswdは同じです。したがって、一度だけ尋ねる必要があります。このコードは XP では非常にうまく機能しましたが、今は wondows7 ではすべてのファイルに対して pswd を要求します。
PLが役立ちます........
pathToZipFile = "C:\Reco\SCRIPT\Filefinder\zip"
extractTo = "C:\Reco\SCRIPT\Filefinder\unzip"
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(pathToZipFile)
Set fc = f.Files
Dim myZipFile
Dim intOptions, objShell, objSource, objTarget
Dim pwd
pwd = "cola"
For Each f1 in fc
On Error Resume Next
myZipFile = f1
' Create the required Shell objects
Set objShell = CreateObject( "Shell.Application" )
' Create a reference to the files and folders
'Set objSource = objShell.NameSpace(pwd+myZipFile).Items( )
Set objSource = objShell.NameSpace(myZipFile).Items( )
' Create a reference to the target folder
Set objTarget = objShell.NameSpace(pwd+extractTo)
Set objTarget = objShell.NameSpace(extractTo)
Set sh = CreateObject("WScript.Shell")
sh.Run "7za.exe x " & myZipFile & " -p" & pwd, 0, True
intOptions = 256
' UnZIP the file
objTarget.CopyHere objSource, intOptions
' Release the objects
Set objSource = Nothing
Set objTarget = Nothing
Set objShell = Nothing
Next