跳至主要内容

如何在Outlook中获取所选邮件的附件信息列表?

Author: Siluvia Last Modified: 2025-05-07

对于带有附件的已接收邮件,有时您可能需要了解附件的详细信息,例如显示名称、文件名等。实际上,VBA代码可以帮助您轻松获取当前所选Outlook邮件中的附件信息列表。请浏览以下教程以获取更多详细信息。

获取Outlook中所选邮件的附件信息列表

Office Tab - 在 Microsoft Office 中启用标签页编辑和浏览,让工作变得轻松愉快。
立即解锁 Kutools for Outlook 的免费版本,永久享受超过 70 项功能的无限访问权限。
通过这些高级功能增强您的 Outlook 2024 - 2010 或 Outlook 365。享受 70 多种强大功能,提升您的邮件体验!

获取Outlook中所选邮件的附件信息列表

1. 选择您要获取其附件信息的带附件邮件。

2. 按键盘上的 Alt + F11 键打开 Microsoft Visual Basic for Applications 窗口。

3. 然后双击 Project1 > Microsoft Outlook Object > ThisOutlookSession 打开 Project1 – ThisOutlookSession 窗口。见截图:

the Project1 – ThisOutlookSession window

4. 接下来将下面的 VBA 代码复制并粘贴到 Project1 – ThisOutlookSession 窗口中。

VBA代码:获取附件信息列表

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. 按键盘上的 F5 键运行 VBA 代码。

6. 此时会弹出一个宏对话框,请单击“运行”按钮。

a Macros dialog box

7. 单击宏对话框中的“运行”按钮后,将创建一个新的消息窗口,并列出所选邮件的所有附件信息于邮件正文中。见截图:

a new message window is created with all attachments information of selected email listed inside the email body

注意:此 VBA 代码适用于 Outlook 2007、2010 和 2013。