Soms wilt u misschien alle bijlagen in een e-mail comprimeren tot een zip bestand rechtstreeks in Outlook. In dit geval kunt u de VBA-code gebruiken die in dit artikel is geïntroduceerd om deze functie te bereiken.
Standaard heeft Outlook een limiet voor de grootte van bijlagen: 20 MB voor POP3, IMAP of andere webgebaseerde e-mailaccounts en 10 MB voor Exchange-accounts. Dus wanneer de totale grootte van bijlagen de limiet overschrijdt, krijgt u gerelateerde fouten. In dit geval is het een goede optie om alle bijlagen te comprimeren tot een zip bestand.

Zoals u kunt zien, biedt Outlook echter niet zo'n directe functie. Dat wil zeggen, u moet eerst zip deze bestanden op de harde schijf en voeg het nieuw gemaakte zip bestand. In werkelijkheid hopen de meeste gebruikers dat ze dit direct in Outlook kunnen doen. Om aan deze behoefte te voldoen, leggen we hieronder uit hoe je dit met VBA kunt realiseren.
Comprimeer alle bijlagen in een Zip Bestand
- Start in de eerste plaats uw Outlook-applicatie.
- Druk vervolgens op de toetsen "Alt + F11" in het hoofdvenster van Outlook.
- Open vervolgens een module in het nieuwe Outlook VBA-editorvenster.
- Kopieer en plak vervolgens de volgende VBA-codes in de module.
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
- Daarna moet u uw Outlook-macro-instellingen controleren om ervoor te zorgen dat macro is toegestaan.
- Later kunt u zoals gewoonlijk het nieuwe VBA-project toevoegen aan de werkbalk Snelle toegang van het berichtvenster.
- Uiteindelijk kun je het proberen.
- Maak eerst een nieuwe e-mail en voeg verschillende bestanden toe. Of open gewoon een mail met veel bijlagen.
- Klik vervolgens op de macroknop in de werkbalk Snelle toegang.
- Later moet u een naam opgeven voor het zip bestand en klik op "OK". Standaard wordt het hetzelfde ingesteld als het e-mailonderwerp.
- In één keer worden alle bijlagen gecomprimeerd tot een zip bestand, zoals de volgende schermafbeelding:
Pak de uit .Zip Bijlagen rechtstreeks in Outlook
Het is onvermijdelijk dat u bijlagen ontvangt met “.zipZo nu en dan kom je bestanden met de extensie "" tegen. In dat geval wil je dergelijke bestanden wellicht rechtstreeks vanuit Outlook uitpakken in plaats van ze eerst op te slaan en vervolgens lokaal uit te pakken. Hoewel Outlook deze functie niet standaard biedt, kun je dit wel met VBA doen. Zie voor meer informatie een ander artikel: "Hoe het ritsen te openen .Zip Bijlagen rechtstreeks in Outlook via VBA'.
Auteur Introductie:
Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder sql-oplossing en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com


