Nogle gange vil du måske komprimere alle vedhæftede filer i en e-mail til en zip fil direkte i Outlook. I dette tilfælde kan du bruge VBA-koden, der er introduceret i denne artikel, til at opnå denne funktion.
Som standard har Outlook sin grænse for vedhæftede filer - 20 MB til POP3, IMAP eller andre webbaserede e-mail-konti og 10 MB til Exchange-konti. Så når den samlede størrelse af vedhæftede filer overskrider grænsen, får du relaterede fejl. I dette tilfælde er det en god mulighed at komprimere alle vedhæftede filer til en zip fil.
Som du kan se, tilbyder Outlook dog ikke sådan en direkte funktion. Det vil sige, du skal først zip disse filer på harddisken og vedhæft derefter det nyoprettede zip fil. I virkeligheden most brugerne håber, at de direkte kan opnå det i Outlook. Som svar på dette krav introducerer vi, hvordan du bruger VBA til at realisere det i det følgende.
Komprimer alle vedhæftede filer til en Zip File (Felt)
- For det første skal du starte din Outlook-applikation.
- Tryk derefter på “Alt + F11” -tasten i hovedvinduet i Outlook.
- Åbn et modul i det nye Outlook VBA-editorvindue.
- Kopier og indsæt derefter følgende VBA-koder i modulet.
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
- Derefter skal du kontrollere dine Outlook-makroindstillinger for at sikre, at makroen er tilladt.
- Senere kan du tilføje det nye VBA-projekt til værktøjslinjen Hurtig adgang i meddelelsesvinduet som normalt.
- Til sidst kan du prøve.
- For det første skal du oprette en ny e-mail og vedhæfte flere filer. Eller bare åbn en mail med mange vedhæftede filer.
- Klik derefter på makroknappen i værktøjslinjen Hurtig adgang.
- Senere skal du angive et navn til zip fil og tryk "OK". Som standard indstilles det som postens emne.
- Straks komprimeres alle vedhæftede filer til en zip fil, som følgende skærmbillede:
Unzip det .Zip Vedhæftede filer direkte i Outlook
Det er uundgåeligt, at du modtager vedhæftede filer med “.zip”Filtypen nu og da. I dette scenario vil du muligvis fjerne unzip sådanne filer fra din Outlook i stedet for at gemme og unkomprimere dem på det lokale drev. Selvom Outlook ikke har en sådan oprindelig funktion, kan du stadig bruge VBA til at få det også. For flere detaljer kan du henvise til en anden artikel - “Sådan Unzip det .Zip Vedhæftede filer direkte i Outlook via VBA".
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder sql rettelse og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com



