หากคุณต้องการป้องกันไม่ให้ตัวเองส่งอีเมลนอกเวลาทำงานคุณสามารถใช้วิธีการที่แสดงในบทความนี้ สามารถให้ Outlook ตรวจสอบโดยอัตโนมัติว่าอยู่ในชั่วโมงทำงานหรือไม่เมื่อคุณส่งอีเมลบางฉบับและเลื่อนออกไปจนกว่าจะถึงชั่วโมงทำงาน
ในบางครั้งเวลาที่คุณเขียนและส่งอีเมลไม่ได้อยู่ในเวลาทำงานของคุณ ในกรณีนี้คุณอาจต้องการชะลอการส่งอีเมลนี้จนกว่าจะถึงเวลาทำการในภายหลัง โดยทั่วไปคุณสามารถใช้คุณลักษณะเนทีฟ“ Delay Delivery” เพื่อชะลอการส่งอีเมลดังกล่าว อย่างไรก็ตามโดยวิธีดังกล่าวคุณควรระบุเวลาจัดส่งทุกครั้ง มันลำบากเกินไป หลังจากนั้นเราจะแบ่งปันรหัส VBA ให้คุณซึ่งสามารถตรวจสอบได้โดยอัตโนมัติว่าอยู่ในเวลาทำการหรือไม่เมื่อคุณส่งอีเมลที่ระบุและล่าช้าอย่างรวดเร็วในการส่งจนถึงเวลาทำการ

ชะลอการส่งอีเมลเฉพาะอย่างรวดเร็วจนถึงเวลาทำการ
- ในตอนแรกให้เปิดโปรแกรม Outlook ของคุณ
- จากนั้นในหน้าจอหลักของ Outlook ที่ปรากฏขึ้นใหม่คุณสามารถกดปุ่ม“ Alt + F11”
- ถัดไปคุณจะสามารถเข้าถึงโปรแกรมแก้ไข Outlook VBA ได้สำเร็จ
- หลังจากนั้นคุณจะต้องค้นหาและเปิดโครงการ“ ThisOutlookSession”
- จากนั้นคัดลอกรหัส VBA ต่อไปนี้ลงในหน้าต่างโครงการนี้
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim objMail As MailItem
Dim NewSendTime As String
Dim bDelayMail As Boolean
Dim nPrompt As Integer
bDelayMail = True
If TypeOf Item Is MailItem Then
Set objMail = Item
'Work on specific emails only
'You can change the conditions as per your needs
If objMail.Recipients.Item(1).Address = "boss@datanumen.com" Then
Select Case Weekday(Date, vbMonday)
'Delay 2 days if today is Saturday
Case 6
NewSendTime = (Date + 2) & " 09:00:00"
'Delay 1 days if today is Saturday
Case 7
NewSendTime = (Date + 1) & " 09:00:00"
Case Else
If DatePart("h", Now) < 9 Then
'Delay to 9 o'clock if now is too early
NewSendTime = Date & " 09:00:00"
ElseIf DatePart("h", Now) > 18 Then
Select Case Weekday(Date, vbMonday)
'Delay 3 days if today is Friday and now is over 6 PM
Case 5
NewSendTime = (Date + 3) & " 09:00:00"
'Delay to 9 o'clock if now is before 6 PM
Case Else
NewSendTime = (Date + 1) & " 09:00:00"
End Select
Else
bDelayMail = False
End If
End Select
If bDelayMail = True And objMail.DeferredDeliveryTime = "1/1/4501" Then
'Ask if to delay sending this email
nPrompt = MsgBox("Outside Working Hours:" & vbCrLf & "Do you want to delay this email until " & NewSendTime & "?", vbYesNo + vbExclamation, "Delay Email")
If nPrompt = vbYes Then
objMail.DeferredDeliveryTime = NewSendTime
Else
objMail.DeferredDeliveryTime = "1/1/4501"
End If
End If
End If
End If
End Sub
- ในภายหลังคุณจะต้องกำหนดใบรับรองดิจิทัลให้กับอีเมลนี้
- จากนั้นเปลี่ยนการตั้งค่าแมโคร Outlook ของคุณเพื่ออนุญาตแมโครที่เซ็นชื่อ
- จากนี้ไปทุกครั้งที่คุณส่งอีเมลที่ตรงตามเกณฑ์ที่กำหนดไว้ล่วงหน้าหากอยู่นอกเวลาทำการคุณจะได้รับข้อความแจ้งดังภาพต่อไปนี้:
- หากคุณเลือก“ ใช่” Outlook จะกำหนดเวลาให้ส่งออกไปจนถึงเวลาทำการ
ช่วยเหลือไฟล์ Outlook ที่เสียหาย
Outlook ได้รับความชื่นชอบมากมายเนื่องจากมีคุณสมบัติมากมาย อย่างไรก็ตามมันยังคงมีข้อบกพร่องร้ายแรง นั่นคือ Outlook มีแนวโน้มที่จะเกิดข้อผิดพลาดและความเสียหาย ดังนั้นคุณควรสำรองไฟล์ Outlook ของคุณเป็นประจำ สามารถป้องกันไม่ให้คุณต้องเจ็บปวดกับการสูญเสียข้อมูล Outlook นอกจากนี้คุณควรถือเครื่องมือซ่อมแซมอันทรงพลังเช่น DataNumen Outlook Repair, ซึ่งสามารถ ซ่อมแซม Outlook ปัญหาภายในไม่กี่วินาที
บทนำผู้เขียน:
Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ การกู้คืน mdf และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

