Compresser/décompresser des fichiers zip

Description

Il s'agit d'une classe et d'un module permettant d'ouvrir un fichier ZIP pour en extraire le contenu ou y ajouter des fichiers. Exemple d'utilisation :

Dim cZip as ccZip
Set cZip = New ccZip

Call cZip.Init "Toto.zip” ' Si le fichier existe il est ouvert, sinon il est créé

Dim lRet as Long

lRet = cZip.AddFile("D:\temp\Titi.txt”)
‘** Ajoute “temp\Titi.txt"

ChDir "d:\temp"
lRet = cZip.AddFile("Titi.txt”)
‘** Ajoute “Titi.txt”
lRet = cZip.AddFile("D:\temp\Titi.txt”, , True)
‘** Ajoute “Titi.txt". Le troisième paramètre indique qu’il ne faut pas prendre en compte le chemin du fichier.

lRet = cZip.Decompress("D:\temp”)
‘** Décompresse tous les fichiers de l’archive dans D:\temp

Dim sName as String
sName = cZip.GetFile(5)
‘** Renvoie le nom (avec son chemin relatif) du 5è fichier de l’archive.

lRet = cZip.Decompress("D:\Temp”, “Toto.txt”)
‘** Décompresse uniquement le fichier Toto.txt dans D:\temp

Pour le reste je vous laisse vous amuser avec, le source est commenté.

Source / Exemple :


Le projet dans l'archive ZIP est le programme de test dont je me suis servis pour débugger la classe. Pour utiliser la classe ccZip, vous devez avoir zip32.dll et unzip32.dll (fournis dans le zip).

Ajoutez le module mDLLProc.bas et la classe ccZip.cls à votre projet pour pouvoir utiliser la classe.

Conclusion :


Je crois qu'il y a un bug avec les chemins réseaux, il faut obligatoirement connecter un lecteur (la dll n'accepte pas les chemins commencant par \\"

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.