Zipper un fichier en utilisant la fonction de compression intégrée à windows xp

Contenu du snippet

Il y a quelques temps déjà, j'ai été confronté au besoin de compresser des fichiers depuis mon code VB et j'ai pû glané quelques informations sur le Net afin de pouvoir réutiliser la fonction "Send to a zipfile"; fonction intégrée dans Windows XP.

Ce code fonctionne pour VB tel quel et pour VBA et VBS avec peut-être quelques légères adaptations.

Source / Exemple :


Public Sub ZMakeZIPFile(ByVal sZIPFileName, ByVal sFileName)

Dim oShell As Object
Dim oZip As Object

   Open sZIPFileName For Output As #1

   Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)

   Close #1

   ' Copy the file in the compressed folder

   Set oShell = CreateObject("Shell.Application")
   Set oZip = oShell.Namespace(sZIPFileName)

   oZip.CopyHere sFileName

   ' Keep script waiting until Compressing is done

   Do Until oZip.Items.Count = 1
      DoEvents
   Loop

   Set oZip = Nothing
   Set oShell = Nothing

End Sub

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.