When you need to forward a great amount of emails to someone, you may desire to convert all of them into a single compressed file. Thus, this post will teach you how to rapidly forward multiple emails as a zip attachment.
Outlook permits users to forward multiple emails as attachments. To be honest, it is convenient. But, if the number of emails to be forwarded is pretty large, you’ll surely hope to compress them into a single file, like a zip file. Other than saving them to local drive and them compressing them, here we will introduce another way, which can allow you to forward many emails as a single zip attachment with one click.
Add and Forward Multiple Emails as a Zip Attachment
- At the very beginning, start your Outlook as normal.
- Then, in the Outlook window, press the “Alt + F11” key buttons.
- Subsequently, you’ll get access to the Outlook VBA editor window in success.
- At this point, you could open an unused module or simply insert a new one.
- Next, you need to copy the following VBA code into this module.
Sub ForwardMultipleEmailsAsZipAttachment() Dim objSelection As Outlook.Selection Dim objMail As Outlook.MailItem Dim strSubject As String Dim strTempFolder As String Dim varTempFolder As Variant Dim objShell As Object Dim varZipFile As Variant Dim objForward As Outlook.MailItem Set objSelection = Application.ActiveExplorer.Selection If Not (objSelection Is Nothing) Then 'Save selected emails to Temporary folder strTempFolder = CStr(Environ("USERPROFILE")) & "\AppData\Local\Temp" varTempFolder = strTempFolder & "\Temp " & Format(Now, "dd-mm-yyyy- hh-mm-ss-") MkDir (varTempFolder) varTempFolder = varTempFolder & "\" For Each objMail In objSelection strSubject = objMail.Subject 'Remove unsupported characters in the subject strSubject = Replace(strSubject, "/", " ") strSubject = Replace(strSubject, "\", " ") strSubject = Replace(strSubject, ":", "") strSubject = Replace(strSubject, "?", " ") strSubject = Replace(strSubject, Chr(34), " ") objMail.SaveAs varTempFolder & strSubject & ".msg", olMsg Next 'Create a new zip file varZipFile = InputBox("Specify a name for the new zip file", "Name Zip File") varZipFile = strTempFolder & "\" & 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 emails 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 Set objMail = Application.CreateItem(olMailItem) 'Add the zip attachment to a new email With objMail .Attachments.Add varZipFile .Display End With End If End Sub
- After that, you can exit the current macro.
- And for later convenient access, you are better off adding this macro to Quick Access Toolbar.
- Finally, you can have a try.
- Firstly, select the emails which you want to forward to someone else.
- Next, click on the macro button in Quick Access Toolbar.
- Then, you will be required to input a name for the compressed file.
- After entering a name and hit “OK”, a new email will display, in which you will see a zip file attached, like the screenshot below:
Keep a Preeminent Repair Tool Nearby
With more and more emails stored in Outlook, PST file will be larger and larger. In such cases, Outlook will suffer a variety of errors and even crashes. Therefore, you had better keep a robust PST repair tool in vicinity, like DataNumen Outlook Repair. It is a highly recommended tool due to its high recovery rate.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including corrupt sql and outlook repair software products. For more information visit www.datanumen.com