บางคนหวังว่า Outlook จะตรวจสอบหัวเรื่องของอีเมลเก่าได้โดยอัตโนมัติเมื่อมีอีเมลใหม่มาถึงและเปลี่ยนชื่อหรือลบอีเมลเก่าหากมีหัวเรื่องเดียวกันกับอีเมลใหม่ สิ่งนี้ต้องการการใช้ Outlook VBA บทความนี้จะช่วยให้คุณประสบความสำเร็จ
คุณต้องเคยได้รับอีเมลหลายฉบับที่มีหัวข้อเดียวกัน เป็นเรื่องยากสำหรับคุณในการระบุและแยกแยะพวกเขาในรายชื่ออีเมลหรือไม่? หรือคุณคิดว่าอีเมลเก่า ๆ เหล่านั้นไม่มีประโยชน์สำหรับคุณ? หากเป็นเช่นนั้นคุณต้องต้องการให้ Outlook สแกนและตรวจสอบอีเมลที่มีอยู่ทั้งหมดโดยอัตโนมัติเมื่อมีอีเมลใหม่มาถึง เมื่อมีอีเมลที่มีหัวข้อเดียวกันกับอีเมลใหม่ Outlook สามารถถามคุณว่าจะเปลี่ยนชื่อหรือลบออก ไม่ต้องสงสัยเลยว่า Outlook ไม่ได้ให้คุณลักษณะประเภทนี้แก่ผู้ใช้ ดังนั้นคุณต้องหันไปใช้ VBA เราจะเปิดเผยรหัสโดยละเอียดและการดำเนินการให้คุณทราบที่นี่
เปลี่ยนชื่ออัตโนมัติหรือลบอีเมลที่เก่ากว่า
- ขั้นแรก คุณสามารถเปิด Outlook แล้วไปที่แท็บ “นักพัฒนา” ได้
- จากนั้นคุณจะสามารถค้นหาและคลิกที่ปุ่ม "Visual Basic"
- หลังจากกดปุ่มแล้วคุณจะเข้าสู่หน้าต่างตัวแก้ไข VBA ในนั้นคุณจะต้องเปิดโครงการ“ ThisOutlookSession”
- ถัดไปคุณควรคัดลอกและวางรหัส VBA ต่อไปนี้ลงไป
Public WithEvents olItems As Outlook.Items
Sub Application_Startup()
'Specify the Emails in Inbox folder
Set olItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub olItems_ItemAdd(ByVal Item As Object)
Dim i As Long
Dim objVariant As Variant
Dim strMsg As String
Dim nRes As Integer
For i = 1 To olItems.Count
Set objVariant = olItems.Item(i)
If TypeOf objVariant Is MailItem Then
If objVariant.Subject = Item.Subject And objVariant.ReceivedTime < Item.ReceivedTime Then
nDateDiff = DateDiff("d", objVariant.ReceivedTime, Now)
'Add "(Old)" suffix to the email subjects
objVariant.Subject = objVariant.Subject & "(Old)"
objVariant.Save
'If the old emails have been recieved for 60 days, ask you whether to delete
If nDateDiff > 60 Then
strMsg = "There are some older emails whcih have the same subjects with the new email and have been recieved for 2 months. Do you want to delete them?"
nRes = MsgBox(strMsg, vbExclamation + vbYesNo, "Find Older Emails")
If nRes = vbYes Then
objVariant.Delete
End If
End If
End If
End If
Next
End Sub
- จากนั้นคุณจะต้องเซ็นรหัสนี้แบบดิจิทัล กด "เครื่องมือ"> "ลายเซ็นดิจิทัล" จากนั้นในกล่องโต้ตอบป๊อปอัปคุณสามารถเลือกใบรับรองที่มีอยู่หนึ่งใบ หากไม่มีใบรับรองสำเร็จรูปคุณสามารถใช้“ ใบรับรองดิจิทัลสำหรับโครงการ VBA” เพื่อสร้างใบรับรองใหม่
- หลังจากนั้นคุณสามารถออกจากหน้าต่างปัจจุบันและดำเนินการต่อเพื่อเปลี่ยนการตั้งค่ามาโครโดยอนุญาตให้ใช้มาโครที่เซ็นชื่อแบบดิจิทัลเท่านั้น
- สุดท้ายนี้ คุณสามารถรีสตาร์ท Outlook เพื่อเปิดใช้งานมาโครใหม่ได้ จากนี้ไป เมื่อมีอีเมลใหม่เข้ามาในกล่องจดหมายเข้า Outlook จะตรวจสอบอีเมลที่มีอยู่ทั้งหมดโดยอัตโนมัติ
- หากอีเมลเก่ามีหัวเรื่องเดียวกันกับอีเมลใหม่ Outlook จะเพิ่มคำต่อท้าย“ (เก่า)” ให้กับหัวเรื่องอีเมลโดยอัตโนมัติ
- และหากอีเมลเก่าเก็บไว้ใน Inbox นานกว่า 2 เดือนคุณจะได้รับข้อความแจ้งถามว่าต้องการลบหรือไม่เช่นภาพด้านล่าง คุณสามารถเลือก“ ใช่” หรือ“ ไม่ใช่” ตามความต้องการของคุณเอง
ไฟล์ Outlook เสียหายเนื่องจากมีขนาดใหญ่
บางคนไม่มีนิสัยลบไฟล์เก่าๆ ใน Outlook เป็นประจำ ดังนั้นไฟล์ Outlook ของพวกเขาจึงมีขนาดใหญ่ ซึ่งไม่ควรทำอย่างยิ่ง เพราะไฟล์ Outlook ขนาดใหญ่มีความเสี่ยงที่จะเสียหายมากกว่าไฟล์ขนาดเล็ก เมื่อไฟล์เสียหายแล้ว เครื่องมือซ่อมแซมในตัวอย่าง Scanpst.exe ก็จะไม่สามารถช่วยเหลือได้ในกรณีส่วนใหญ่ ทางออกเฉพาะของคุณอาจเป็นวิธีที่ยอดเยี่ยมและได้รับการพิสูจน์แล้ว เครื่องมือซ่อมแซม Outlook PST ที่เสียหาย, ชอบ DataNumen Outlook Repair.
บทนำผู้เขียน:
Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ ซ่อมแซมความเสียหาย SQL Server ฐานข้อมูล mdf และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.


