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
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.