How to get list of attachments' information in selected mail in Outlook?
For the received emails which attached with attachments, sometimes you may need to know the detailed information of the attachments, such as the display name, file name and so on. Actually, VBA code can help you easily get the list of attachments’ information in current selected email in Outlook. Please browse the below tutorial for more details.
- Auto CC/BCC by rules when sending email; Auto Forward Multiple Emails by rules; Auto Reply without exchange server, and more automatic features...
- BCC Warning - show message when you try to reply all if your mail address is in the BCC list; Remind When Missing Attachments, and more remind features...
- Reply (All) With All Attachments in the mail conversation; Reply Many Emails at once; Auto Add Greeting when reply; Auto Add Date&Time into subject...
- Attachment Tools: Auto Detach, Compress All, Rename All, Auto Save All... Quick Report, Count Selected Mails, Remove Duplicate Mails and Contacts...
- More than 100 advanced features will solve most of your problems in Outlook 2021 - 2010 or Office 365. Full features 60-day free trial.
1. Select the email with attachments which you want to get the information of them.
2. Press the Alt + F11 keys on the keyboard to open the Microsoft Visual Basic for Applications window.
3. Then double click the Project1 > Microsoft Outlook Object > ThisOutlookSession to open the Project1 – ThisOutlookSession window. See screenshot:
4. Then copy and paste the below VBA code into the Project1 – ThisOutlookSession window.
VBA code: get list of attachments’ information
Option Explicit Public Sub GetAttachmentList() Dim selItem As Object Dim aMail As MailItem Dim aAttach As attachment Dim Report As String For Each selItem In Application.ActiveExplorer.Selection If selItem.Class = olMail Then Set aMail = selItem For Each aAttach In aMail.Attachments Report = Report & vbCrLf & "------------------------------------------------------------------------" & vbCrLf Report = Report & GetAttachmentInfo(aAttach) Next Call CreateReportEmail("Attachment Report", Report) End If Next End Sub Public Function GetAttachmentInfo(attachment As attachment) Dim Report GetAttachmentInfo = "" Report = Report & "Index: " & attachment.Index & vbCrLf Report = Report & "Display Name: " & attachment.DisplayName & vbCrLf Report = Report & "File Name: " & attachment.FileName & vbCrLf Report = Report & "Block Level: " & attachment.BlockLevel & vbCrLf Report = Report & "Path Name: " & attachment.PathName & vbCrLf Report = Report & "Position: " & attachment.Position & vbCrLf Report = Report & "Size: " & attachment.Size & vbCrLf Report = Report & "Type: " & attachment.Type & vbCrLf GetAttachmentInfo = Report End Function Sub CreateReportEmail(Title As String, Report As String) Dim aMail As MailItem Set aMail = Application.CreateItem(olMailItem) aMail.Subject = Title aMail.Body = Report aMail.Display End Sub
5. Press F5 key on the keyboard to run the VBA code.
6. Now a Macros dialog box pops up, please click the Run button.
7. After clicking the Run button in the Macros dialog box, a new message window will be created with all attachments information of selected email listed inside the email body. See screenshot:
Note: This VBA code can be applied to Outlook 2007, 2010 and 2013
Best Office Productivity Tools
Kutools for Outlook - Over 100 Powerful Features to Supercharge Your Outlook
Over 100 Features Await Your Exploration! Click Here to Discover More.