Certains utilisateurs aimeraient compresser tous les e-mails d'un dossier Outlook dans un zip déposer. Bien qu'il n'y ait pas une telle fonction directe, vous pouvez utiliser le code VBA exposé dans cet article pour le réaliser rapidement.
À zip tous les e-mails dans un dossier Outlook, vous devez d'abord les exporter vers le lecteur local un par un, puis utiliser "Envoyer vers"> "Compressé (zipdossier ped). Sans doute, par ce moyen, c'est trop fastidieux. C'est pourquoi, afin de vous aider à le réaliser d'un seul coup, dans la suite, nous allons vous apprendre une autre méthode. Il vous apprendra comment l'obtenir avec le code VBA. Si vous n'êtes pas familier avec VBA, vous pouvez vous référer à "Comment exécuter le code VBA dans votre Outlook" pendant ce temps.

Compresser tous les e-mails d'un dossier dans un Zip Fichier
- Pour commetart, lancez l'éditeur Outlook VBA via "Alt + F11".
- Ensuite, copiez et collez le code VBA dans un module.
Sub ZipAllEmailsInAFolder()
Dim objFolder As Outlook.Folder
Dim objItem As Object
Dim objMail As Outlook.MailItem
Dim strSubject As String
Dim varTempFolder As Variant
Dim varZipFile As Variant
Dim objShell As Object
Dim objFileSystem As Object
'Select an Outlook Folder
Set objFolder = Outlook.Application.Session.PickFolder
If Not (objFolder Is Nothing) Then
'Create a temp folder
varTempFolder = "E:\" & objFolder.Name & Format(Now, "YYMMDDHHMMSS")
MkDir (varTempFolder)
varTempFolder = varTempFolder & "\"
'Save each email as msg file
For Each objItem In objFolder.Items
If TypeOf objItem Is MailItem Then
Set objMail = objItem
strSubject = objMail.Subject
strSubject = Replace(strSubject, "/", " ")
strSubject = Replace(strSubject, "\", " ")
strSubject = Replace(strSubject, ":", "")
strSubject = Replace(strSubject, "?", " ")
strSubject = Replace(strSubject, Chr(34), " ")
objMail.SaveAs varTempFolder & strSubject & ".msg", olMSG
End If
Next
'Create a new ZIP file
varZipFile = "E:\" & objFolder.Name & " Emails.zip"
Open varZipFile For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
'Add the exported msg files to the ZIP file
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(varZipFile).CopyHere objShell.NameSpace(varTempFolder).Items
On Error Resume Next
Do Until objShell.NameSpace(varZipFile).Items.Count = objShell.NameSpace(varTempFolder).Items.Count
Application.Wait (Now + TimeValue("0:00:01"))
Loop
On Error GoTo 0
'Delete the temp folder
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
objFileSystem.DeleteFolder Left(varTempFolder, Len(varTempFolder) - 1)
End If
End Sub
- Ensuite, cliquez sur le bouton "F5" pour exécuter cette macro.
- Plus tard, dans la boîte de dialogue contextuelle, sélectionnez le dossier Outlook source et cliquez sur "OK".
- Lorsque la macro se termine, un dossier Windows s'affiche, dans lequel se trouve un nouveau zip fichier contenant tous les e-mails du dossier Outlook sélectionné, comme illustré dans la figure suivante.
Gérer la corruption de fichiers Outlook gênants
Parmi tous les problèmes courants d'Outlook, incontestablement, les dommages d'Outlook sont le most sérieux. Cependant, en réalité, de tels problèmes peuvent survenir à tout moment. Par conséquent, si vous êtes un utilisateur régulier d'Outlook, vous devez effectuer des sauvegardes régulières des données d'Outlook. De plus, il est prudent de se procurer un robuste Réparation Outlook utilitaire, comme DataNumen Outlook Repair.
Introduction de l'auteur:
Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris correction sql et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com


