Hur snabbt komprimerar alla bilagor till en Zip Arkiv i din Outlook-e-post

Ibland kanske du vill komprimera alla bilagor i ett e-postmeddelande till en zip fil direkt i Outlook. I det här fallet kan du använda VBA-koden som introducerades i den här artikeln för att uppnå denna funktion.

Som standard har Outlook sin begränsningsstorleksgräns - 20 MB för POP3, IMAP eller andra webbaserade e-postkonton och 10 MB för Exchange-konton. Så när den totala storleken på bilagor överskrider gränsen får du relaterade fel. I det här fallet är det ett bra alternativ att komprimera alla bilagor till en zip fil.

Komprimera snabbt alla bilagor till en Zip Arkiv i din Outlook-e-post

Som du kan se erbjuder Outlook dock inte en sådan direktfunktion. Det vill säga, du måste först zip dessa filer på hårddisken och bifoga sedan den nyskapade zip fil. I verkligheten, most användare hoppas att de kan uppnå det direkt i Outlook. Som svar på detta krav kommer vi att introducera hur man använder VBA för att förverkliga det i det följande.

Komprimera alla bilagor till en Zip Fil

  1. För det första, starta din Outlook-applikation.
  2. Tryck sedan på “Alt + F11” -knapparna i huvudfönstret i Outlook.
  3. Nästa i det nya Outlook VBA-redigeringsfönstret öppnar du en modul.
  4. Kopiera sedan och klistra in följande VBA-koder i modulen.
Sub ZipAttachments()
    Dim objMail As Outlook.MailItem
    Dim objAttachments As Outlook.attachments
    Dim objAttachment As Outlook.Attachment
    Dim objFileSystem As Object
    Dim objShell As Object
    Dim varTempFolder As Variant
    Dim varZipFile As Variant
 
    'Save the attachments to Temporary folder
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    varTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp " & Format(Now, "dd-mm-yyyy- hh-mm-ss-")
    MkDir (varTempFolder)
    varTempFolder = varTempFolder & "\"
 
    Set objMail = Outlook.Application.ActiveInspector.CurrentItem
    Set objAttachments = objMail.attachments
    For Each objAttachment In objAttachments
        objAttachment.SaveAsFile (varTempFolder & objAttachment.FileName)
    Next
 
    'Create a new zip file
    varZipFile = InputBox("Specify a name for the new zip file", "Name Zip File", objMail.Subject)
    varZipFile = objFileSystem.GetSpecialFolder(2).Path & "\" & varZipFile & ".zip"
    Open varZipFile For Output As #1
    Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
    Close #1
 
    'Copy all the saved attachments to the new zip file
     Set objShell = CreateObject("Shell.Application")
     objShell.NameSpace(varZipFile).CopyHere objShell.NameSpace(varTempFolder).Items

     'Keep macro running until Compressing is done
     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 all the attachments
     Set objAttachments = objMail.attachments
     While objAttachments.Count > 0
           objAttachments.Item(1).Delete
     Wend
 
     'Add the new zip file to the current email 
     objMail.attachments.Add varZipFile
 
    'Prompt
    MsgBox ("Complete!")
End Sub

VBA-kod - Komprimera snabbt alla bilagor till en Zip Arkiv i din Outlook-e-post

  1. Därefter måste du kontrollera dina Outlook-makroinställningar för att säkerställa att makro är tillåtet.
  2. Senare kan du lägga till det nya VBA-projektet i snabbåtkomstverktygsfältet i meddelandefönstret som vanligt.
  3. Så småningom kan du prova.
  • Skapa först ett nytt e-postmeddelande och bifoga flera filer. Eller helt enkelt öppna ett mail med många bilagor.
  • Klicka sedan på makroknappen i snabbåtkomstverktygsfältet.
  • Senare måste du ange ett namn för zip fil och tryck “OK”. Som standard kommer den att vara samma som postens ämne.Ange ett namn för zip fil
  • Omedelbart komprimeras alla bilagor till en zip fil, som följande skärmdump:Komprimera alla bilagor till en Zip Fil

Unzip den.Zip Bilagor direkt i Outlook

Det är oundvikligt att du får några bilagor med “.zip”Filtillägg då och då. I det här scenariot kanske du vill avmarkera direktzip sådana filer från din Outlook istället för att spara och packa upp dem på den lokala enheten. Även om Outlook inte har en sådan inbyggd funktion kan du fortfarande använda VBA för att få det också. För mer information kan du hänvisa till en annan artikel - “Hur man unzip den.Zip Bilagor direkt i Outlook via VBA".

Författarintroduktion:

Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive sql fix och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.