跳至主要内容

在Outlook中撰写邮件时,如何将所有附件名称列到邮件正文中?

Author: Xiaoyang Last Modified: 2025-05-07

在Outlook中撰写电子邮件时,有没有什么好方法可以将所有附件名称插入到邮件正文中?本文将介绍如何在Outlook中解决这个问题。

使用VBA代码在撰写邮件时列出所有附件名称到邮件正文

通过一个简单的功能,在撰写邮件时列出所有附件名称到邮件正文


使用VBA代码在撰写邮件时列出所有附件名称到邮件正文

请按照以下步骤完成此任务:

1. 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2. 在 Microsoft Visual Basic for Applications 窗口中,双击 Project1(VbaProject.OTM) 窗格中的 ThisOutlookSession 打开模块,然后复制并粘贴以下代码到空白模块中。

VBA代码:将所有附件名称列出到邮件正文:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim xMailItem As MailItem
    If Item.Class = olMail Then
        Set xMailItem = Item
        If xMailItem.Attachments.Count > 0 Then
          AddAttachmentNamesToBody
        End If
    End If
    End Sub

doc-list-attaches-into-message-1

3. 接着点击 插入 > 模块,复制并将以下代码粘贴到打开的空白模块中,参见截图:

VBA代码:将所有附件名称列出到邮件正文:

Public Sub AddAttachmentNamesToBody()
    Dim xMailItem As MailItem
    Dim xAttachment As Attachment
    Dim xFileName As String
   Dim xInspector As Outlook.Inspector
    Dim xDoc As Word.Document
    Dim xWdSelection As Word.Selection
    On Error Resume Next
    Set xMailItem = Outlook.ActiveInspector.CurrentItem
    If xMailItem.Attachments.Count = 0 Then
        Exit Sub
    End If
    xFileName = ""
    For Each xAttachment In xMailItem.Attachments
        If xFileName = "" Then
            xFileName = " <" & xAttachment.FileName & "> "
        Else
            xFileName = xFileName & vbCrLf & " <" & xAttachment.FileName & "> "
        End If
    Next xAttachment
    Set xInspector = Outlook.Application.ActiveInspector()
    Set xDoc = xInspector.WordEditor
    Set xWdSelection = xDoc.Application.Selection
    xWdSelection.HomeKey Unit:=wdStory
    xWdSelection.InsertBefore "Attachments: " & vbCrLf & xFileName & vbCrLf & vbCrLf
    Set xMailItem = Nothing
    End Sub

doc-list-attaches-into-message-2

4. 然后点击 工具 > 引用,在弹出的 References-Project1 对话框中,勾选 可用引用 列表框中的 Microsoft Word Object Library 选项,参见截图:

doc-list-attaches-into-message-3 arrow doc-list-attaches-into-message-4

5. 单击 确定 退出对话框,然后您需要将宏按钮添加到快速访问工具栏。在新邮件窗口中,从 自定义快速访问工具栏 下拉菜单中选择 更多命令,参见截图:

doc-list-attaches-into-message-5

6. 在 Outlook 选项 对话框中,执行以下操作:

(1.) 从 选择命令自 下拉列表中选择 宏;

(2.) 单击刚刚插入的宏名称;

(3.) 然后单击 添加 按钮将宏添加到 自定义快速访问工具栏。

doc-list-attaches-into-message-6

7. 然后单击 确定 关闭对话框,现在,宏按钮已插入到 快速访问工具栏 中,参见截图:

doc-list-attaches-into-message-7

8. 现在,当您创建新邮件并单击宏按钮时,附件名称将被插入到邮件正文上方,如下图所示:

doc-list-attaches-into-message-8


通过一个简单的功能,在撰写邮件时列出所有附件名称到邮件正文

也许上面的代码对您来说有些难以应用,如果您有 Kutools for Outlook,使用其 拷贝名称 功能,您可以快速复制邮件的附件名称并将其粘贴到任何需要的地方。

Kutools for Outlook:解锁超过100种必备和高级功能!免费享受70多种功能。立即下载并探索免费版本!

安装 Kutools for Outlook 后,请按以下步骤操作:

1. 首先,请创建您需要的新邮件,然后在新邮件窗口中点击 Kutools > 拷贝名称,参见截图:

doc-list-attaches-into-message-9

2. 接着,会弹出一个提示框,提醒您附件名称已被复制到剪贴板,参见截图:

doc-list-attaches-into-message-10

3. 现在,您只需同时按下 Ctrl + V 键即可将附件名称粘贴到所需的邮件正文中,参见截图:

doc-list-attaches-into-message-11


更多相关文章:

  • 在Outlook中带原始附件回复所有人
  • 通常情况下,当您在Outlook中使用“全部答复”功能向所有收件人回复消息时,原始附件会自动丢失。是否可以在Outlook中回复所有人时附上原始附件呢?
  • 从Outlook下载/保存附件到特定文件夹
  • 一般来说,您可以通过点击 附件 > 保存所有附件 来保存一封邮件的所有附件。但是,如果您需要保存所有收到和正在接收的邮件中的所有附件,有什么好办法吗?本文将介绍两种解决方案,以自动将Outlook中的附件下载到特定文件夹。
  • 更改Outlook中的默认附件保存位置
  • 每次启动Outlook时,是否厌倦了每次都寻找指定的附件位置?本教程将向您展示如何更改默认的附件保存位置。之后,即使您重新启动Outlook,每次保存附件时都会自动打开指定的附件保存文件夹。
  • 从Outlook中的邮件删除所有附件
  • 通常情况下,当您预览邮件时,可以通过右键单击并选择 删除附件 项来删除附件。有时,一封邮件中可能有许多附件,逐一删除它们将会很繁琐。这里我们为您安排了两个简单的方法,可一次性删除一封邮件中的所有附件,以及在Outlook中删除多封邮件中的所有附件。