Hvordan raskt komprimere alle e-poster i en Outlook-mappe til en Zip filet

Noen brukere ønsker å komprimere alle e-postene i en Outlook-mappe til en zip fil. Selv om det ikke er en slik direkte funksjon, kan du bruke VBA-koden som er eksponert i denne artikkelen for å realisere den raskt.

Til zip alle e-poster i en Outlook-mappe, må du først eksportere dem til lokal stasjon én etter én, og deretter bruke “Send til” > “Komprimert (zipped) mappe"-funksjonen. Uten tvil, på denne måten er det for kjedelig. Derfor, for å hjelpe deg med å realisere det på én gang, vil vi i det følgende lære deg en annen metode. Det vil lære deg hvordan du får det med VBA-kode. Hvis du ikke er kjent med VBA, kan du se "Hvordan kjøre VBA-kode i Outlook" i mellomtiden.

Send til komprimert (zipped) mappe

Komprimer alle e-poster i en mappe til en Zip filet

  1. For somtart, start Outlook VBA-redigering via "Alt + F11".
  2. Deretter kopierer og limer du inn VBA-koden i en modul.
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

VBA-kode - Komprimer alle e-poster i en mappe til en Zip filet

  1. Etterpå klikker du på "F5"-tasten for å kjøre denne makroen.
  2. Senere, i popup-dialogboksen, velg kilden for Outlook-mappen og klikk "OK".Velg Outlook-mappe
  3. Når makroen er ferdig, vil en Windows-mappe vises, der det er en ny zip fil som inneholder alle e-postene fra den valgte Outlook-mappen, som vist i følgende figur.Ny Zip filet

Håndter plagsom Outlook-filkorrupsjon

Blant alle de vanlige problemene i Outlook er Outlook-skaden utvilsomt most seriøs en. Men i virkeligheten kan slike problemer finne sted når som helst. Derfor, hvis du er en vanlig Outlook-bruker, må du ta regelmessige sikkerhetskopier av Outlook-data. Dessuten er det fornuftig å få tak i en robust Outlook reparasjon nytte, som f.eks DataNumen Outlook Repair.

Forfatterintroduksjon:

Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert sql fikse og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med

Kommentarer er stengt.