If you want Outlook to auto extract and save the embedded images from the specific incoming emails, you can refer to this article. Here we will teach you how to realize it with VBA code.
Some users frequently need to extract the embedded images from the specific incoming emails and save them to a certain Windows folder. It is so troublesome to manually do that every time. Therefore, many look forward to learning a quick and convenient approach to let Outlook auto accomplish that. Now, here we will share such a method with you.
Auto Extract Embedded Images from Specific Incoming Emails
- Firstly, launch your Outlook program as usual.
- Then, trigger Outlook VBA editor as usual with reference t “How to Run VBA Code in Your Outlook“.
- Later, copy and paste the following VBA code into the “ThisOutlookSession” project.
Public WithEvents objInbox As Outlook.Folder Public WithEvents objInboxItems As Outlook.Items Private Sub Application_Startup() Set objInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox) Set objInboxItems = objInbox.Items End Sub Private Sub objInboxItems_ItemAdd(ByVal Item As Object) Dim objMail As Outlook.MailItem Dim objAttachments As Outlook.Attachments Dim objAttachment As Outlook.Attachment Dim strWindowsFolder As String Dim i As Long If TypeOf Item Is MailItem Then Set objMail = Item 'Specify the emails as per your needs If objMail.Importance = olImportanceHigh Then Set objAttachments = objMail.Attachments 'Specify the windows folder strWindowsFolder = "E:\" & objMail.Subject & Format(Now, "yymmddhhmmss") MkDir (strWindowsFolder) 'Save all embedded images to the folder For i = 1 To objAttachments.Count Set objAttachment = objAttachments.Item(i) If IsEmbedded(objAttachment) = True Then objAttachment.SaveAsFile strWindowsFolder & "\" & objAttachment.FileName End If Next End If End If End Sub Function IsEmbedded(objCurAttachment As Outlook.Attachment) As Boolean Dim objPropertyAccessor As Outlook.PropertyAccessor Dim strProperty As String Set objPropertyAccessor = objCurAttachment.PropertyAccessor strProperty = objPropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E") If InStr(1, strProperty, "@") > 0 Then IsEmbedded = True Else IsEmbedded = False End If End Function
- After that, click into the “Application_Startup” subroutine.
- Finally, click “F5” key to trigger this macro.
- From now on, every time when a specific new email arrives in the Inbox, the embedded images will be saved to the specific Windows folder, as shown in the following screenshot.
Clean up Large Attachments Regularly
It is advisable to clean up large attachments from your Outlook on a regular basis. It aims to keep your Outlook file in appropriate size. Larger Outlook file is more susceptible to corruption. As you know, PST damage is quite difficult to be dealt with well. Maybe you will firstly attempt to fix it via inbox repair tool. However, in most of the cases, it won’t work. Your only resort is a specialized PST repair tool, like DataNumen Outlook Repair, or relevant professional recovery services.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including mdf fix and outlook repair software products. For more information visit www.datanumen.com