A algunos usuarios les gustaría comprimir todos los correos electrónicos de una carpeta de Outlook en una zip archivo. Aunque no existe una función tan directa, puede utilizar el código VBA expuesto en este artículo para realizarlo rápidamente.
A zip Todos los correos electrónicos en una carpeta de Outlook, primero debe exportarlos a la unidad local uno por uno, y luego usar la función "Enviar a" > "Carpeta comprimida (zip)". Sin duda, de esta manera, es demasiado tedioso. Por lo tanto, para ayudarlo a lograrlo de una sola vez, a continuación, le enseñaremos otro método. Le enseñaremos cómo obtenerlo con código VBA. Si no está familiarizado con VBA, puede consultar “Cómo ejecutar código VBA en su Outlook" mientras tanto.

Comprima todos los correos electrónicos de una carpeta en un Zip Archivo
- Para empezar, inicie el editor VBA de Outlook mediante “Alt + F11”.
- Luego, copie y pegue el código VBA en un módulo.
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
- Luego, haga clic en el botón de la tecla "F5" para ejecutar esta macro.
- Más tarde, en el cuadro de diálogo emergente, seleccione la carpeta de origen de Outlook y haga clic en "Aceptar".
- Cuando finalice la macro, se mostrará una carpeta de Windows, en la que hay una nueva zip archivo que contiene todos los correos electrónicos de la carpeta de Outlook seleccionada, como se muestra en la siguiente figura.
Manejar la problemática corrupción de archivos de Outlook
Entre todos los problemas comunes de Outlook, sin duda, el daño a Outlook es el más grave. Sin embargo, en realidad, estos problemas pueden ocurrir en cualquier momento. Por lo tanto, si eres un usuario habitual de Outlook, necesitas hacer copias de seguridad periódicas de tus datos. Además, es prudente contar con un sistema de almacenamiento en la nube robusto. Reparación de Outlook utilidad, como DataNumen Outlook Repair.
Introducción del autor:
Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo corrección de sql y productos de software de reparación de Outlook. Para más información visite www.datanumen.com


