Ponekad ćete možda htjeti komprimirati sve priloge u e-poruci u a zip datoteku direktno u Outlooku. U ovom slučaju, možete koristiti VBA kod predstavljen u ovom članku da biste postigli ovu funkciju.
Outlook podrazumevano ima ograničenje veličine priloga – 20 MB za POP3, IMAP ili druge naloge e-pošte zasnovane na vebu i 10 MB za Exchange naloge. Dakle, kada ukupna veličina priloga premaši ograničenje, dobićete povezane greške. U ovom slučaju, dobra je opcija komprimirati sve priloge u a zip fajl.

Međutim, kao što vidite, Outlook ne nudi tako direktnu funkciju. To znači da morate prvo zip ove datoteke na tvrdom disku, a zatim ponovo pričvrstite novostvorene zip datoteku. U stvarnosti, većina korisnika se nada da to mogu direktno postići unutar Outlooka. Kao odgovor na ovaj zahtjev, u nastavku ćemo predstaviti kako koristiti VBA da to ostvarimo.
Komprimirajte sve priloge u a Zip fajl
- Prvo pokrenite svoju Outlook aplikaciju.
- Zatim pritisnite tipke “Alt + F11” u glavnom prozoru programa Outlook.
- Zatim u novom prozoru Outlook VBA editora otvorite modul.
- Zatim kopirajte i zalijepite sljedeće VBA kodove u modul.
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
- Nakon toga morate provjeriti postavke makronaredbe Outlooka da biste bili sigurni da je makro dozvoljen.
- Kasnije možete dodati novi VBA projekat na Quick Access Toolbar prozora poruke kao i obično.
- Na kraju možete probati.
- Prvo kreirajte novu e-poštu i priložite nekoliko datoteka. Ili jednostavno otvorite mail sa mnogo priloga.
- Zatim kliknite na dugme makro na traci sa alatkama za brzi pristup.
- Kasnije morate navesti ime za zip datoteku i pritisnite “OK”. Podrazumevano će biti postavljen isto kao i predmet pošte.
- Odjednom će svi prilozi biti komprimirani u a zip datoteku, poput sljedećeg snimka ekrana:
Raspakirajte .Zip Prilozi direktno u Outlook
Neizbježno je da ćete primiti bilo kakve priloge sa ".zip" ekstenziju datoteke s vremena na vrijeme. U ovom scenariju, možda ćete htjeti direktno raspakirati takve datoteke iz Outlooka umjesto da ih spremite i raspakirate na lokalnom disku. Iako Outlook nema takvu izvornu funkciju, i dalje možete koristiti VBA da biste je dobili. Za više detalja, možete pogledati drugi članak – "Kako raspakirati .Zip Prilozi direktno u Outlook preko VBA".
Uvod za autora:
Shirley Zhang je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući sql fix i Outlook softverski proizvodi za popravku. Za više informacija posjetite www.datanumen.com


