ไปยังเนื้อหาหลัก

จะพิมพ์ไฟล์แนบทั้งหมดในอีเมลเดียว / หลายฉบับใน Outlook ได้อย่างไร

ดังที่คุณทราบจะพิมพ์เฉพาะเนื้อหาอีเมลเช่นส่วนหัวเนื้อหาเมื่อคุณคลิกไฟล์ เนื้อไม่มีมัน > พิมพ์ ใน Microsoft Outlook แต่ไม่พิมพ์ไฟล์แนบ ที่นี่เราจะแสดงวิธีพิมพ์ไฟล์แนบทั้งหมดในอีเมลที่เลือกอย่างสะดวกสบายใน Microsoft Outlook


พิมพ์ไฟล์แนบทั้งหมดในข้อความอีเมลทีละรายการ

Microsoft Outlook ให้เราด้วย พิมพ์ด่วน ซึ่งสามารถช่วยคุณพิมพ์ไฟล์แนบในข้อความอีเมลทีละไฟล์

1. เลือกข้อความอีเมลที่มีไฟล์แนบที่คุณจะพิมพ์ในภายหลัง

2. คลิกไฟล์แนบหนึ่งไฟล์ในอีเมลนี้

3. คลิก พิมพ์ด่วน ปุ่มใน สถานะ กลุ่มใน Attachments แถบ

หมายเหตุ: เครื่องมือแนบ จะไม่เปิดใช้งานจนกว่าคุณจะคลิกไฟล์แนบในอีเมล

4. กล่องโต้ตอบการเปิดไฟล์แนบจะปรากฏขึ้นและโปรดคลิก จุดเปิด ปุ่ม

โปรดทราบว่าขั้นตอนนี้จะเปิดไฟล์แนบที่เลือกและพิมพ์ไฟล์แนบที่เลือกนี้พร้อมกัน

หากต้องการพิมพ์ไฟล์แนบอื่น ๆ ในอีเมลนี้โปรดทำซ้ำขั้นตอนที่ 2 ถึงขั้นตอนที่ 4

บันทึก / ส่งออกไฟล์แนบทั้งหมดอย่างรวดเร็วจากอีเมลหลายฉบับใน Outlook

โดยปกติเราสามารถบันทึกไฟล์แนบจากอีเมลเดียวโดยเปิดใช้งานไฟล์ เครื่องมือแนบ และใช้ไฟล์ บันทึกไฟล์แนบทั้งหมด คุณลักษณะใน Outlook แต่จะเกิดอะไรขึ้นถ้าบันทึกไฟล์แนบจากอีเมลหลายฉบับหรือจากโฟลเดอร์อีเมลทั้งหมดใน Outlook? ลองใช้ Kutools สำหรับ Outlook บันทึกทั้งหมด (ไฟล์แนบ)


บันทึกไฟล์แนบในอีเมลหลายฉบับ kto9

พิมพ์เอกสารแนบทั้งหมดในข้อความอีเมลเดียว

หากมีไฟล์แนบจำนวนมากในข้อความอีเมลฉบับเดียว การพิมพ์ทีละรายการจะใช้เวลานาน และวิธีการต่อไปนี้จะแนะนำคุณเกี่ยวกับการพิมพ์ไฟล์แนบทั้งหมดในข้อความอีเมลที่เลือกเป็นชุดอย่างง่ายดาย

1. เลือกข้อความอีเมลที่มีไฟล์แนบที่คุณจะพิมพ์ในภายหลัง

2. ใน Outlook 2010 หรือเวอร์ชันที่ใหม่กว่าโปรดคลิกไฟล์ เนื้อไม่มีมัน > พิมพ์ > ตัวเลือกการพิมพ์. ดูภาพหน้าจอต่อไปนี้:

3. ในกล่องโต้ตอบการพิมพ์ โปรดตรวจสอบ พิมพ์ไฟล์แนบ เอกสารแนบจะพิมพ์ไปยังเครื่องพิมพ์เริ่มต้นเท่านั้น ตัวเลือกใน ตัวเลือกการพิมพ์ มาตรา.

4. คลิก พิมพ์ ปุ่ม

5. ในกล่องโต้ตอบเปิดสิ่งที่แนบมากับจดหมายที่เปิดขึ้นมาโปรดคลิกที่ไฟล์ จุดเปิด เพื่อดำเนินการต่อ (หมายเหตุ: กล่องโต้ตอบนี้จะปรากฏขึ้นสำหรับไฟล์แนบแต่ละไฟล์แยกกัน)

ตอนนี้สิ่งที่แนบมาทั้งหมดในข้อความอีเมลที่เลือกนี้จะถูกพิมพ์พร้อมกัน


พิมพ์ไฟล์แนบและรูปภาพทั้งหมดเป็นชุดในอีเมลที่เลือกหลายฉบับ

หากต้องการพิมพ์เอกสารแนบทั้งหมดในอีเมลหลายฉบับรวมถึงรูปภาพทั้งหมดในเนื้อหาข้อความใน Outlook โปรดทำตามขั้นตอนด้านล่างเพื่อใช้รหัส VBA

1. ในรายชื่อผู้รับจดหมายโปรดถือ Ctrl or เปลี่ยน ปุ่มเพื่อเลือกอีเมลหลายฉบับที่คุณจะพิมพ์ไฟล์แนบ

2. กด อื่น ๆ + F11 คีย์ร่วมกันเพื่อเปิดหน้าต่าง Microsoft Visual Basic for Applications

3. ในหน้าต่าง Microsoft Visual Basic for Applications คลิก เครื่องมือ > อ้างอิง. แล้วตรวจสอบ รันไทม์การเขียนสคริปต์ของ Microsoft ตัวเลือกที่แสดงด้านล่าง เสร็จแล้วคลิก OK.

4. คลิก สิ่งที่ใส่เข้าไป > โมดูลแล้ววางโค้ด VBA ด้านล่างลงในหน้าต่างโมดูลใหม่

VBA: พิมพ์ไฟล์แนบทั้งหมดในอีเมล Outlook หลายฉบับ

Sub PrintAllAttachmentsInMultipleMails()
  'Update by ExtendOffice 2022/08/03
  Dim xShellApp As Object
  Dim xFSO As Scripting.FileSystemObject
  Dim xItem As Object
  Dim xTempFldPath, xFilePath As String
  Dim xSelItems As Outlook.Selection
  Dim xMailItem As Outlook.MailItem
  Dim xAttachments As Outlook.Attachments
  Dim xAttachment As Outlook.Attachment
  Dim xFile As File
  On Error Resume Next
  Set xFSO = New Scripting.FileSystemObject
  xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
  If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
    xFSO.CreateFolder (xTempFldPath)
  End If
  Set xSelItems = Outlook.ActiveExplorer.Selection
  Set xShellApp = CreateObject("Shell.Application")
  For Each xItem In xSelItems
    If xItem.Class = OlObjectClass.olMail Then
      Set xMailItem = xItem
      Set xAttachments = xMailItem.Attachments
      For Each xAttachment In xAttachments
        xFilePath = xTempFldPath & "\" & xAttachment.FileName
        xAttachment.SaveAsFile (xFilePath)
      Next
    End If
  Next
  For Each xFile In xFSO.GetFolder(xTempFldPath).Files
    VBA.DoEvents
    Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
  Next
  Set xSelItems = Nothing
  Set xShellApp = Nothing
  Set xFSO = Nothing
End Sub

5 กด F5 หรือคลิกปุ่ม วิ่ง ปุ่มเพื่อเรียกใช้โค้ด VBA นี้ ตอนนี้ คุณจะเห็นว่าสิ่งที่แนบมาทั้งหมดในอีเมลที่เลือกและรูปภาพในเนื้อหา meesage ถูกพิมพ์ออกมา

หมายเหตุ

  • แต่ละภาพจะแสดงกล่องโต้ตอบป๊อปอัปขึ้นเพื่อขอให้คุณยืนยันการพิมพ์ ในขณะที่ไฟล์ประเภทอื่น ๆ จะถูกพิมพ์โดยตรง
  • หากมีรูปภาพในลายเซ็นอีเมล รูปภาพเหล่านั้นจะแสดงกล่องโต้ตอบแบบผุดขึ้นด้วย
  • ถ้าคุณได้รับ มาโครในโครงการนี้ถูกปิดใช้งาน ข้อผิดพลาด โปรดตรวจสอบบทช่วยสอนนี้: วิธีการเปิดและปิดการใช้งานมาโครใน Outlook?

พิมพ์เอกสารแนบทั้งหมดเป็นชุดในอีเมลที่เลือกหลายฉบับ ยกเว้นรูปภาพในเนื้อหา

หากต้องการพิมพ์เฉพาะไฟล์แนบในอีเมลหลายฉบับแต่รูปภาพในเนื้อหาข้อความใน Outlook โปรดทำตามขั้นตอนด้านล่างเพื่อใช้โค้ด VBA

1. ในรายชื่อผู้รับจดหมายโปรดถือ Ctrl or เปลี่ยน ปุ่มเพื่อเลือกอีเมลหลายฉบับที่คุณจะพิมพ์ไฟล์แนบ

2. กด อื่น ๆ + F11 คีย์ร่วมกันเพื่อเปิดหน้าต่าง Microsoft Visual Basic for Applications

3. ในหน้าต่าง Microsoft Visual Basic for Applications คลิก เครื่องมือ > อ้างอิง. แล้วตรวจสอบ รันไทม์การเขียนสคริปต์ของ Microsoft ตัวเลือกที่แสดงด้านล่าง เสร็จแล้วคลิก OK.

4. คลิก สิ่งที่ใส่เข้าไป > โมดูลแล้ววางโค้ด VBA ด้านล่างลงในหน้าต่างโมดูลใหม่

VBA: พิมพ์ไฟล์แนบทั้งหมดในอีเมล Outlook หลายฉบับ

Sub PrintAllAttachmentsInMultipleMails()
  'Update by ExtendOffice 2022/08/05
  Dim xShellApp As Object
  Dim xFSO As Scripting.FileSystemObject
  Dim xItem As Object
  Dim xTempFldPath, xFilePath As String
  Dim xSelItems As Outlook.Selection
  Dim xMailItem As Outlook.MailItem
  Dim xAttachments As Outlook.Attachments
  Dim xAttachment As Outlook.Attachment
  Dim xFile As File
  On Error Resume Next
  Set xFSO = New Scripting.FileSystemObject
  xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
  If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
    xFSO.CreateFolder (xTempFldPath)
  End If
  Set xSelItems = Outlook.ActiveExplorer.Selection
  Set xShellApp = CreateObject("Shell.Application")
  For Each xItem In xSelItems
    If xItem.Class = OlObjectClass.olMail Then
      Set xMailItem = xItem
      Set xAttachments = xMailItem.Attachments
      For Each xAttachment In xAttachments
        If IsEmbeddedAttachment(xAttachment) = False Then
          xFilePath = xTempFldPath & "\" & xAttachment.FileName
          xAttachment.SaveAsFile (xFilePath)
          Debug.Print xFilePath
        End If
      Next
    End If
  Next
  For Each xFile In xFSO.GetFolder(xTempFldPath).Files
    VBA.DoEvents
    Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
  Next
  Set xSelItems = Nothing
  Set xShellApp = Nothing
  Set xFSO = Nothing
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

5 กด F5 หรือคลิกปุ่ม วิ่ง ปุ่มเพื่อเรียกใช้โค้ด VBA นี้ ตอนนี้ คุณจะเห็นว่าสิ่งที่แนบมาทั้งหมดในอีเมลที่เลือกถูกพิมพ์ออกมา

หมายเหตุ

  • รูปภาพที่แนบมาแต่ละรูปจะแสดงกล่องโต้ตอบป๊อปอัปขึ้นเพื่อขอให้คุณยืนยันการพิมพ์ ในขณะที่ไฟล์ประเภทอื่น ๆ จะถูกพิมพ์โดยตรง
  • รูปภาพในเนื้อหาข้อความจะไม่ถูกพิมพ์
  • ถ้าคุณได้รับ มาโครในโครงการนี้ถูกปิดใช้งาน ข้อผิดพลาด โปรดตรวจสอบบทช่วยสอนนี้: วิธีการเปิดและปิดการใช้งานมาโครใน Outlook?

 


การสาธิต: พิมพ์ไฟล์แนบหนึ่งไฟล์หรือทั้งหมดในอีเมล Outlook


ปลาย: ในวิดีโอนี้ Kutools เพิ่มแท็บโดย Kutools สำหรับ Outlook. หากคุณต้องการโปรดคลิก โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม เพื่อทดลองใช้ฟรี 60 วันโดยไม่มีข้อ จำกัด !


สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

Kutools สำหรับ Outlook - คุณสมบัติอันทรงพลังมากกว่า 100 รายการเพื่อเติมพลังให้กับ Outlook ของคุณ

🤖 ผู้ช่วยจดหมาย AI: ส่งอีเมลระดับมืออาชีพทันทีด้วยเวทมนตร์ AI คลิกเพียงครั้งเดียวเพื่อตอบกลับอย่างชาญฉลาด น้ำเสียงที่สมบูรณ์แบบ การเรียนรู้หลายภาษา เปลี่ยนรูปแบบการส่งอีเมลอย่างง่ายดาย! ...

📧 การทำงานอัตโนมัติของอีเมล: ไม่อยู่ที่สำนักงาน (ใช้ได้กับ POP และ IMAP)  /  กำหนดการส่งอีเมล  /  Auto CC/BCC ตามกฎเมื่อส่งอีเมล  /  ส่งต่ออัตโนมัติ (กฎขั้นสูง)   /  เพิ่มคำทักทายอัตโนมัติ   /  แบ่งอีเมลผู้รับหลายรายออกเป็นข้อความส่วนตัวโดยอัตโนมัติ ...

📨 การจัดการอีเมล์: เรียกคืนอีเมลได้อย่างง่ายดาย  /  บล็อกอีเมลหลอกลวงตามหัวเรื่องและอื่นๆ  /  ลบอีเมลที่ซ้ำกัน  /  การค้นหาขั้นสูง  /  รวมโฟลเดอร์ ...

📁 ไฟล์แนบโปรบันทึกแบทช์  /  การแยกแบทช์  /  การบีบอัดแบบแบตช์  /  บันทึกอัตโนมัติ   /  ถอดอัตโนมัติ  /  บีบอัดอัตโนมัติ ...

🌟 อินเตอร์เฟซเมจิก: 😊อีโมจิที่สวยและเจ๋งยิ่งขึ้น   /  เพิ่มประสิทธิภาพการทำงาน Outlook ของคุณด้วยมุมมองแบบแท็บ  /  ลดขนาด Outlook แทนที่จะปิด ...

???? เพียงคลิกเดียวสิ่งมหัศจรรย์: ตอบกลับทั้งหมดด้วยไฟล์แนบที่เข้ามา  /   อีเมลต่อต้านฟิชชิ่ง  /  🕘 แสดงโซนเวลาของผู้ส่ง ...

👩🏼‍🤝‍👩🏻 รายชื่อและปฏิทิน: แบทช์เพิ่มผู้ติดต่อจากอีเมลที่เลือก  /  แบ่งกลุ่มผู้ติดต่อเป็นกลุ่มแต่ละกลุ่ม  /  ลบการแจ้งเตือนวันเกิด ...

เกิน คุณสมบัติ 100 รอการสำรวจของคุณ! คลิกที่นี่เพื่อค้นพบเพิ่มเติม

 

 

Comments (24)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Is it possible to specify a network printer instead of always printing with the standard printer?
This comment was minimized by the moderator on the site
Dear all,

I had tried the VBA and the code runs but many popups are opening on screen to print images from the mail signature (apparently this is considered an attachment). Anyone knows how to solve it?

S.
This comment was minimized by the moderator on the site
If you don't want to print pictures in the body of a message, please use the code below:
Sub PrintAllAttachmentsInMultipleMails()
  'Update by ExtendOffice 2022/08/05
  Dim xShellApp As Object
  Dim xFSO As Scripting.FileSystemObject
  Dim xItem As Object
  Dim xTempFldPath, xFilePath As String
  Dim xSelItems As Outlook.Selection
  Dim xMailItem As Outlook.MailItem
  Dim xAttachments As Outlook.Attachments
  Dim xAttachment As Outlook.Attachment
  Dim xFile As File
  On Error Resume Next
  Set xFSO = New Scripting.FileSystemObject
  xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
  If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
    xFSO.CreateFolder (xTempFldPath)
  End If
  Set xSelItems = Outlook.ActiveExplorer.Selection
  Set xShellApp = CreateObject("Shell.Application")
  For Each xItem In xSelItems
    If xItem.Class = OlObjectClass.olMail Then
      Set xMailItem = xItem
      Set xAttachments = xMailItem.Attachments
      For Each xAttachment In xAttachments
        If IsEmbeddedAttachment(xAttachment) = False Then
          xFilePath = xTempFldPath & "\" & xAttachment.FileName
          xAttachment.SaveAsFile (xFilePath)
          Debug.Print xFilePath
        End If
      Next
    End If
  Next
  For Each xFile In xFSO.GetFolder(xTempFldPath).Files
    VBA.DoEvents
    Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
  Next
  Set xSelItems = Nothing
  Set xShellApp = Nothing
  Set xFSO = Nothing
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function
This comment was minimized by the moderator on the site
Dear Amanda,

Thank you for the code. It worked!

S.
This comment was minimized by the moderator on the site
Hi there,

Sorry that printing images will bring up popups. You will have to confirm each to download all the images. If you don't need to print images, please click Cancel.

Amanda
This comment was minimized by the moderator on the site
I am using Microsoft 365 and this worked after deleting line 9. Thanks! This has saved a bit of time for me.
Rated 5 out of 5
This comment was minimized by the moderator on the site
hallo, ich möchte nur den Anhang der Mails von der angegebenen Adresse senden, wie kann ich das machen, danke
This comment was minimized by the moderator on the site
Vielen, vielen Dank dafür! Hat uns enorm viel Arbeit erspart.Auch ich musste - wie bereits in den Kommentaren geschrieben - die neunte Zeile "Dim xAttachment As Outlook.Attachment On Error Resume Next" entfernen, dann lief der Code einfandfrei durch.
This comment was minimized by the moderator on the site
Hi, this worked fine for me yesterday but now it is saying 'the macros in this project are disabled' Any advice how to enable them? 
This comment was minimized by the moderator on the site
This comment was minimized by the moderator on the site
on line 9 , removing "On Error Resume Next" worked for me.
This comment was minimized by the moderator on the site
Hi everyone, we updated the VBA code in the tutorial on 2022/08/03. If you still need to print all attachments, please check the new code. 😊
This comment was minimized by the moderator on the site
Hi, I have been using this shortcut for a few weeks now, printing all attachments from multiple emails at once, and I have recently been having to remove line 9 as Nilanka said, which has been working, but this no longer works. Im getting the warning box saying the macros in this project are disabled.....and so on... if someone has a solution to make this work as it has been prior to now, please lmk, as i am selecting about 60 emails all containing attachments to print. Thanks
This comment was minimized by the moderator on the site
This comment was minimized by the moderator on the site
Thank you 
This comment was minimized by the moderator on the site
yes this just worked for me as well. Thank you!
This comment was minimized by the moderator on the site
the VBA code gives syntax is error
This comment was minimized by the moderator on the site
if a pdf has the same name the macro prints just one pdf, how can i change the code in order to modify the pdf name?
This comment was minimized by the moderator on the site
if you want to print all attachments together in 1 email here's what you do. first make a folder on your desktop....I named mine "print". go to the email with the attachments....highlight all of the attachments, right click, save all attachments to the print folder. Open the print folder.....highlight all of them.....right click.....print.



now if only I could figure out how to print all the attachments in 200 emails without opening each one and printing it.
This comment was minimized by the moderator on the site
Kutools for Outlook's Detach All (Attachments) feature can help you download all attachments from multiple emails with several clicks! https://www.extendoffice.com/product/kutools-for-outlook/outlook-detach-attachments.html
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations