วิธีพิมพ์เอกสารแนบโดยอัตโนมัติเมื่ออีเมลมาถึง Outlook?
บทช่วยสอนนี้สาธิตวิธีการรวมสคริปต์ VBA และกฎของ Outlook เพื่อช่วยให้คุณพิมพ์เอกสารแนบของอีเมลบางฉบับโดยอัตโนมัติเมื่อมาถึง Outlook
พิมพ์เอกสารแนบโดยอัตโนมัติเมื่อมีอีเมลบางฉบับมาถึง
สมมติว่า คุณต้องการพิมพ์เอกสารแนบของอีเมลขาเข้าจากผู้ส่งบางรายโดยอัตโนมัติ คุณสามารถทำได้ดังนี้
ขั้นที่ 1: สร้างสคริปต์ใน Outlook
ประการแรก คุณต้องสร้างสคริปต์ VBA ใน Outlook
1. เปิดโปรแกรม Outlook ของคุณกดปุ่ม อื่น ๆ + F11 พร้อมกันเพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง ดับเบิลคลิกที่ Project1 > วัตถุ Microsoft Outlook > นี้OutlookSession เพื่อเปิด ThisOutlookSession (รหัส) หน้าต่าง แล้วคัดลอกรหัสต่อไปนี้ลงในหน้าต่างรหัสนี้
รหัส VBA 1: พิมพ์ไฟล์แนบโดยอัตโนมัติ (ไฟล์แนบทุกประเภท) เมื่อมีอีเมลมาถึง
Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20230223
Dim xFS As FileSystemObject
Dim xTempFolder As String
Dim xAtt As Attachment
Dim xShell As Object
Dim xFolder As Object, xFolderItem As Object
Dim xFileName As String
On Error GoTo xError
If Item.Attachments.Count = 0 Then Exit Sub
Set xFS = New FileSystemObject
xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
xTempFolder = xTempFolder & "\ATMP" & Format(Item.ReceivedTime, "yyyymmddhhmmss")
If Not xFS.FolderExists(xTempFolder) Then
MkDir (xTempFolder)
End If
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.NameSpace(0)
For Each xAtt In Item.Attachments
If IsEmbeddedAttachment(xAtt) = False Then
xFileName = xTempFolder & "\" & xAtt.FileName
xAtt.SaveAsFile (xFileName)
Set xFolderItem = xFolder.ParseName(xFileName)
xFolderItem.InvokeVerbEx ("print")
End If
Next xAtt
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
If Err <> 0 Then
MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
Err.Clear
End If
Exit Sub
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
หมายเหตุ รหัสนี้รองรับการพิมพ์ไฟล์แนบทุกประเภทที่ได้รับในอีเมล หากคุณต้องการพิมพ์เฉพาะไฟล์แนบประเภทที่ระบุ เช่น ไฟล์ pdf โปรดใช้โค้ด VBA ต่อไปนี้
รหัส VBA 2: พิมพ์ไฟล์แนบที่ระบุโดยอัตโนมัติเมื่ออีเมลมาถึง
Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20230223
Dim xFS As FileSystemObject
Dim xTempFolder As String
Dim xAtt As Attachment
Dim xShell As Object
Dim xFolder As Object, xFolderItem As Object
Dim xFileType As String, xFileName As String
On Error GoTo xError
If Item.Attachments.Count = 0 Then Exit Sub
Set xFS = New FileSystemObject
xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
xTempFolder = xTempFolder & "\ATMP" & Format(Item.ReceivedTime, "yyyymmddhhmmss")
If Not xFS.FolderExists(xTempFolder) Then
MkDir (xTempFolder)
End If
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.NameSpace(0)
For Each xAtt In Item.Attachments
If IsEmbeddedAttachment(xAtt) = False Then
xFileName = xAtt.FileName
xFileType = LCase$(Right$(xFileName, VBA.Len(xFileName) - VBA.InStrRev(xFileName, ".")))
xFileName = xTempFolder & "\" & xFileName
Select Case xFileType
Case "pdf" 'change "pdf" to the file extension you want to print
xAtt.SaveAsFile (xFileName)
Set xFolderItem = xFolder.ParseName(xFileName)
xFolderItem.InvokeVerbEx ("print")
End Select
End If
Next xAtt
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
If Err <> 0 Then
MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
Err.Clear
End If
Exit Sub
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
หมายเหตุ / รายละเอียดเพิ่มเติม:
3. ไปข้างหน้าและคลิก เครื่องมือ > อ้างอิง ในการโผล่ขึ้นมา ข้อมูลอ้างอิง – Project1 ให้ทำเครื่องหมายที่ รันไทม์การเขียนสคริปต์ของ Microsoft จากนั้นคลิกที่ไฟล์ OK ปุ่ม
4. บันทึกรหัสแล้วกดปุ่ม อื่น ๆ + Q ปุ่มเพื่อปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
หมายเหตุ โปรดตรวจสอบให้แน่ใจว่า เปิดใช้งานมาโครทั้งหมด เปิดใช้งานตัวเลือกใน Outlook ของคุณ คุณสามารถตรวจสอบตัวเลือกนี้โดยทำตามขั้นตอนที่แสดงด้านล่าง
ขั้นตอนที่ 2: สร้างกฎเพื่อใช้สคริปต์
หลังจากเพิ่มสคริปต์ VBA ใน Outlook แล้ว คุณต้องสร้างกฎเพื่อใช้สคริปต์ตามเงื่อนไขบางประการ
1. ไปที่แท็บหน้าแรก คลิก กฎระเบียบ > จัดการกฎและการแจ้งเตือน.
2 ใน กฎและการแจ้งเตือน ใหคลิกปุ the ม กฎใหม่ ปุ่มเพื่อสร้างกฎ
ทิปส์: หากคุณได้เพิ่มบัญชีอีเมลหลายบัญชีใน Outlook ของคุณ โปรดระบุบัญชีใน ใช้การเปลี่ยนแปลงกับโฟลเดอร์นี้ รายการแบบหล่นลงที่คุณต้องการใช้กฎ มิฉะนั้น จะนำไปใช้กับกล่องจดหมายของบัญชีอีเมลที่เลือกในปัจจุบัน
3. ในครั้งแรก ตัวช่วยสร้างกฎ ใหเลือก ใช้กฎเกี่ยวกับข้อความที่ฉันได้รับ ใน ขั้นตอนที่ 1 จากนั้นคลิก ถัดไป
4. ในวินาทีที่ ตัวช่วยสร้างกฎ คุณต้อง:
5. ในข้อที่สาม ตัวช่วยสร้างกฎ คุณต้องกำหนดค่าดังต่อไปนี้
ทิปส์: หาก "เรียกใช้สคริปต์” ตัวเลือกหายไปในของคุณ ตัวช่วยสร้างกฎคุณสามารถแสดงได้โดยทำตามวิธีการที่กล่าวถึงในบทความนี้: กู้คืน Run A Script pption ที่ขาดหายไปในกฎของ Outlook.
6. แล้วอีกอย่าง ตัวช่วยสร้างกฎ ปรากฏขึ้นเพื่อขอข้อยกเว้น คุณสามารถเลือกข้อยกเว้นได้หากจำเป็น หรือมิฉะนั้น ให้คลิกปุ่ม ถัดไป ปุ่มโดยไม่ต้องเลือกใดๆ。
7. ในช่วงสุดท้าย ตัวช่วยสร้างกฎคุณต้องระบุชื่อสำหรับกฎ จากนั้นคลิก เสร็จสิ้น ปุ่ม
8. จากนั้นจะกลับไปที่ กฎและการแจ้งเตือน ไดอะล็อกบ็อกซ์ คุณสามารถดูกฎที่คุณสร้างอยู่ในรายการ คลิก OK เพื่อสิ้นสุดการตั้งค่าทั้งหมด
จากนี้ไปเมื่อได้รับอีเมลจากบุคคลที่ระบุ ไฟล์ที่แนบมาจะถูกพิมพ์โดยอัตโนมัติ
บทความที่เกี่ยวข้อง
พิมพ์เฉพาะไฟล์แนบจากอีเมลหนึ่งฉบับหรืออีเมลที่เลือกใน Outlook
ใน Outlook คุณสามารถพิมพ์อีเมลได้ แต่คุณได้พิมพ์เอกสารแนบจากอีเมลฉบับเดียวหรืออีเมลที่เลือกใน Outlook หรือไม่ บทความนี้จะแนะนำเคล็ดลับในการแก้ปัญหานี้
พิมพ์เฉพาะส่วนหัวของอีเมลใน Outlook
เมื่อพิมพ์อีเมลใน Outlook จะพิมพ์ทั้งส่วนหัวและเนื้อหาของข้อความในอีเมล อย่างไรก็ตาม ในบางกรณีพิเศษ คุณอาจต้องพิมพ์ส่วนหัวของข้อความที่มีหัวเรื่อง ผู้ส่ง ผู้รับ ฯลฯ บทความนี้จะแนะนำวิธีแก้ปัญหาสองวิธี
พิมพ์ปฏิทินในช่วงวันที่ที่ระบุ/กำหนดเองใน Outlook
โดยปกติ เมื่อพิมพ์ปฏิทินในมุมมองเดือนใน Outlook ปฏิทินจะเลือกเดือนที่มีวันที่ที่เลือกในปัจจุบันโดยอัตโนมัติ แต่คุณอาจต้องพิมพ์ปฏิทินภายในช่วงวันที่ที่กำหนดเอง เช่น 3 เดือน ครึ่งปี เป็นต้น บทความนี้จะแนะนำวิธีแก้ปัญหาสำหรับคุณ
พิมพ์ผู้ติดต่อพร้อมรูปภาพใน Outlook
โดยปกติรูปภาพของผู้ติดต่อจะไม่ถูกพิมพ์ออกมาเมื่อพิมพ์ผู้ติดต่อใน Outlook แต่บางครั้งการพิมพ์รายชื่อติดต่อด้วยรูปภาพจะน่าประทับใจกว่า บทความนี้จะแนะนำวิธีแก้ปัญหาบางอย่างเพื่อทำให้เสร็จ
พิมพ์การเลือกอีเมลใน Outlook
หากคุณได้รับข้อความอีเมลและพบว่ามีเนื้อหาอีเมลบางส่วนที่ต้องพิมพ์ออกมาแทนที่จะพิมพ์ข้อความทั้งหมดคุณจะทำอย่างไร? จริงๆแล้ว Outlook สามารถช่วยให้คุณดำเนินการนี้ได้ด้วยความช่วยเหลือของอินเทอร์เน็ตเบราว์เซอร์เช่น Firefox และ Internet Explorer ที่นี่ฉันจะยกตัวอย่างอินเทอร์เน็ตเบราว์เซอร์ โปรดดูบทแนะนำต่อไปนี้
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
Kutools สำหรับ Outlook - คุณสมบัติอันทรงพลังมากกว่า 100 รายการเพื่อเติมพลังให้กับ Outlook ของคุณ
🤖 ผู้ช่วยจดหมาย AI: ส่งอีเมลระดับมืออาชีพทันทีด้วยเวทมนตร์ AI คลิกเพียงครั้งเดียวเพื่อตอบกลับอย่างชาญฉลาด น้ำเสียงที่สมบูรณ์แบบ การเรียนรู้หลายภาษา เปลี่ยนรูปแบบการส่งอีเมลอย่างง่ายดาย! ...
📧 การทำงานอัตโนมัติของอีเมล: ไม่อยู่ที่สำนักงาน (ใช้ได้กับ POP และ IMAP) / กำหนดการส่งอีเมล / Auto CC/BCC ตามกฎเมื่อส่งอีเมล / ส่งต่ออัตโนมัติ (กฎขั้นสูง) / เพิ่มคำทักทายอัตโนมัติ / แบ่งอีเมลผู้รับหลายรายออกเป็นข้อความส่วนตัวโดยอัตโนมัติ ...
📨 การจัดการอีเมล์: เรียกคืนอีเมลได้อย่างง่ายดาย / บล็อกอีเมลหลอกลวงตามหัวเรื่องและอื่นๆ / ลบอีเมลที่ซ้ำกัน / การค้นหาขั้นสูง / รวมโฟลเดอร์ ...
📁 ไฟล์แนบโปร: บันทึกแบทช์ / การแยกแบทช์ / การบีบอัดแบบแบตช์ / บันทึกอัตโนมัติ / ถอดอัตโนมัติ / บีบอัดอัตโนมัติ ...
🌟 อินเตอร์เฟซเมจิก: 😊อีโมจิที่สวยและเจ๋งยิ่งขึ้น / เพิ่มประสิทธิภาพการทำงาน Outlook ของคุณด้วยมุมมองแบบแท็บ / ลดขนาด Outlook แทนที่จะปิด ...
???? เพียงคลิกเดียวสิ่งมหัศจรรย์: ตอบกลับทั้งหมดด้วยไฟล์แนบที่เข้ามา / อีเมลต่อต้านฟิชชิ่ง / 🕘 แสดงโซนเวลาของผู้ส่ง ...
👩🏼🤝👩🏻 รายชื่อและปฏิทิน: แบทช์เพิ่มผู้ติดต่อจากอีเมลที่เลือก / แบ่งกลุ่มผู้ติดต่อเป็นกลุ่มแต่ละกลุ่ม / ลบการแจ้งเตือนวันเกิด ...
เกิน คุณสมบัติ 100 รอการสำรวจของคุณ! คลิกที่นี่เพื่อค้นพบเพิ่มเติม