1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
Private Sub Dezipper_Click()
Dim objFSO, objDossier, objFichier, objResultat
Dim NomFichierTxt, RepZip, RepDezip
Dim zip As ZipExtractionClass
'crée variable contenant le chemin des zip et celui de l'extraction
RepDezip = Left(destination, Len(destination) - 1)
RepZip = Left(original, Len(original) - 1)
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDossier = objFSO.GetFolder(RepZip)
Set zip = New ZipExtractionClass
'Test si dossier vide
If (objDossier.Files.Count - 1 > 0) Then
'Boucle permettant de parcourir tous les fichiers du dossier répertoire
For Each objFichier In objDossier.Files
'Contrôle si extension .*zip
If (InStr(1, objFichier.Name, ".zip", 1) > 0) Then
'Ouvre le fichier zip => classe zlib
If zip.OpenZip(RepZip & "\" & objFichier.Name) Then
'Extrait le fichier vers destination et ajoute à zone de liste
If zip.Extract(RepDezip & "\", True, True) Then
zdlTest.RowSource = zdlTest.RowSource & objFichier.Name & ";"
End If
'Ferme le fichier zip => classe zlib
zip.CloseZip
End If
End If
Next
'Message pour dire fin extraction
MsgBox "Extraction terminée.", vbInformation
Else
'Message si le répertoire ne contient pas de fichiers
MsgBox "Le dossier ne comporte pas de fichier *.zip"
End If
'Vide des instances
Set objResultat = Nothing
Set objDossier = Nothing
Set objFSO = Nothing
Set zip = Nothing
End Sub |
Partager