Skip to main content

在Outlook中撰寫郵件時,如何將所有附件名稱列在郵件正文中?

Author: Xiaoyang Last Modified: 2025-05-13

當我們在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. 接著點擊Insert > Module,將以下代碼複製並粘貼到打開的空白模塊中,參見截圖:

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. 然後在Microsoft Visual Basic for Applications窗口中點擊 Tools > References,在彈出的References-Project1對話框中,從Available References列表框中勾選Microsoft Word Object Library選項,參見截圖:

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

5. 點擊OK退出對話框,然後您應該將宏按鈕添加到快速訪問工具欄。在新郵件窗口中,從Customize Quick Access Toolbar下拉菜單中選擇More Commands,參見截圖:

doc-list-attaches-into-message-5

6. 在Outlook Options對話框中,執行以下操作:

(1.) 從Choose commands from下拉列表中選擇Macros

(2.) 點擊剛才插入的宏名稱;

(3.) 然後點擊Add按鈕將宏添加到Customize Quick Access Toolbar中。

doc-list-attaches-into-message-6

7. 然後點擊OK關閉對話框,現在,宏按鈕已經被插入到快速訪問工具欄中,參見截圖:

doc-list-attaches-into-message-7

8. 現在,當您創建新郵件並點擊宏按鈕時,附件名稱將會插入到郵件正文上方,如下截圖所示:

doc-list-attaches-into-message-8


使用簡單功能撰寫郵件時列出所有附件名稱到郵件正文

也許上述代碼對您來說有些難以應用,如果您有Kutools for Outlook,使用其Copy Names功能,您可以快速複製郵件的附件名稱並將它們粘貼到任何需要的地方。

Kutools for Outlook:解鎖超過100種基本和進階功能!免費享受大於70種功能。立即下載並探索免費版本!

安裝Kutools for Outlook後,請這樣操作:

1. 首先,請創建您需要的新郵件,然後在新郵件窗口中點擊Kutools > Copy Names,參見截圖:

doc-list-attaches-into-message-9

2. 接著,將彈出一個提示框提醒您附件名稱已複製到剪貼板,參見截圖:

doc-list-attaches-into-message-10

3. 現在,您只需同時按下Ctrl + V鍵即可將附件名稱粘貼到您需要的郵件正文中,參見截圖:

doc-list-attaches-into-message-11


更多相關文章:

  • 在Outlook中帶原始附件全部答覆
  • 通常,當您使用Reply All功能向Outlook中的所有收件人回復郵件時,原始附件將自動丟失。是否可以在Outlook中進行全部答覆時附上原始附件呢?
  • 從Outlook下載/保存附件到特定文件夾
  • 一般來說,您可以通過點擊Attachments > Save All Attachments來保存一封郵件的所有附件。但是,如果您需要保存所有收到和接收郵件中的所有附件,有什麼好主意嗎?本文將介紹兩種解決方案,自動將Outlook中的附件下載到特定文件夾。
  • 更改Outlook中的默認附件保存位置
  • 每次啟動Outlook時,您是否厭倦了尋找指定的附件位置?在本教程中,我們將向您展示如何更改默認附件位置。之後,即使重新啟動Outlook,每次保存附件時都會自動打開指定的附件保存文件夾。
  • 從Outlook郵件中刪除所有附件
  • 通常,當您預覽郵件時,可以右鍵單擊並選擇Remove Attachment項目來刪除附件。有時候,一封郵件中可能會有很多附件,並且逐一刪除它們將非常繁瑣。這裡我們為您提供了兩個簡單的方法來刪除一封郵件中的所有附件,以及刪除多封郵件中的所有附件。