cs_tibob26
Messages postés3Date d'inscriptionlundi 20 juin 2005StatutMembreDernière intervention14 août 2007
-
14 août 2007 à 15:28
cs_tibob26
Messages postés3Date d'inscriptionlundi 20 juin 2005StatutMembreDernière intervention14 août 2007
-
14 août 2007 à 17:04
Bonjour,
je crée une application qui crée une arborescence en VB et copie dedans des fichiers.
je cherche un moyen de creer un fichier zip qui contienne cette arborescence. Je n'ai pas besoind de compression, juste d'un conteneur. j'ai essayé plein de codes trouvés sur vbfrance mais aucun ne marche.
le plus fréquent était d'utiliser la librairie zlib.dll, hors Visual Studio refuse d'importer cette dll ("Impossible d'ajouter une référence au fichier spécifié").
cs_tibob26
Messages postés3Date d'inscriptionlundi 20 juin 2005StatutMembreDernière intervention14 août 2007 14 août 2007 à 17:04
En effet, je n'avais pas remarqué cette zlib.dll.res qui fait marcher le programme. C'est nickel, sauf pour un point de détail. il n'y a pas de méthode pour zipper un répertoire.
j'utilise une version encore plus récente de Jack qui regroupe zip et unzip dans la même classe. je parcours donc chaque sous dossier et ajoute les fichiers avec leur chemin relatif. le problème avec cette méthode est que quand un dossier est vide, il n'apparait pas dans le .zip.
voila mon code :
Private Sub creationZipFolder(fileZip As clsZip, nameDossier As String)
Dim fso As FileSystemObject
Dim dossier As folder
Dim subDossier As folder
Dim fichier As file
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier = fso.GetFolder(nameDossier)
For Each fichier In dossier.Files
fileZip.FileAdd fichier.Path, WithRelativePath, True
Next
For Each subDossier In dossier.SubFolders
creationZipFolder fileZip, nameDossier & "" & subDossier.name
Next
End Sub
j'ai essayé en crééant un fichier vide dans les répertoires vides, et en les supprimant de l'archive ensuite, mais winzip considère que l'archive est corrompue et garde une référence sur ces fichiers.