Alguns usuários gostariam de compactar todos os e-mails em uma pasta do Outlook em um zip arquivo. Embora não exista uma função direta, você pode utilizar o código VBA exposto neste artigo para realizá-la rapidamente.
Para zip Para exportar todos os emails de uma pasta do Outlook, primeiro você precisa exportá-los um por um para o seu computador e, em seguida, usar o recurso "Enviar para" > "Pasta compactada (zipada)". Sem dúvida, esse método é muito trabalhoso. Portanto, para facilitar o processo, ensinaremos a seguir outro método usando código VBA. Se você não estiver familiarizado com VBA, pode consultar "Como executar o código VBA no seu Outlook" enquanto isso.

Compactar todos os e-mails em uma pasta em um Zip Envie o
- Para começar, abra o editor VBA do Outlook pressionando “Alt + F11”.
- Em seguida, copie e cole o código VBA em um 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
- Depois, clique no botão da tecla “F5” para executar esta macro.
- Mais tarde, na caixa de diálogo pop-up, selecione a pasta de origem do Outlook e clique em “OK”.
- Quando a macro terminar, uma pasta do Windows será exibida, na qual há um novo zip arquivo que contém todos os e-mails da pasta selecionada do Outlook, conforme mostrado na figura a seguir.
Lidar com problemas de corrupção de arquivos do Outlook
Dentre todos os problemas comuns no Outlook, sem dúvida, danos ao programa são os mais graves. No entanto, na realidade, esses problemas podem ocorrer a qualquer momento. Portanto, se você usa o Outlook regularmente, precisa fazer backups frequentes dos seus dados. Além disso, é prudente adquirir um software de backup robusto. Reparo do Outlook utilitário, como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo correção de sql e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com


