Nếu bạn muốn loại bỏ các mục trùng lặp trong Outlook, việc tìm kiếm và loại bỏ từng mục một sẽ khá rắc rối. p nàyost sẽ hướng dẫn bạn cách hoàn thành nhanh chóng bằng Outlook VBA.
Trong bài viết trước của tôi – “Cách nhanh chóng tìm và xóa email trùng lặp trong Outlook”, bạn có thể tìm hiểu thủ thuật tìm và xóa các email trùng lặp, trước tiên sắp xếp email theo chủ đề, sau đó theo thời gian nhận và sau đó theo tệp đính kèm để tìm ra các mục trùng lặp và cuối cùng chọn các mục trùng lặp và nhấn phím “Xóa”. Mặc dù phương pháp này có vẻ thuận tiện hơn một chút nhưng lại rắc rối hơn rất nhiều so với việc sử dụng Outlook VBA. Bằng các mã VBA sau, bạn có thể nhanh chóng loại bỏ các mục trùng lặp chỉ bằng một cú nhấp chuột, bất kể email, nhiệm vụ, danh bạ hay cuộc hẹn. Bây giờ hãy đọc tiếp để nhận mã chi tiết.

Xóa các mục Outlook trùng lặp trong một thư mục
- Để start bằng, khởi chạy chương trình Outlook của bạn.
- Sau đó nhấn các nút phím “Alt + F11”.
- Trong cửa sổ soạn thảo VBA tiếp theo, nhấp đúp để mở mô-đun đang được sử dụng hoặc chèn trực tiếp mô-đun mới bằng cách “Chèn” > “Mô-đun”.
- Tiếp theo sao chép và dán mã VBA sau vào mô-đun.
Sub RemoveDuplicateItems()
Dim objFolder As Folder
Dim objDictionary As Object
Dim i As Long
Dim objItem As Object
Dim strKey As String
Set objDictionary = CreateObject("scripting.dictionary")
'Select a source folder
Set objFolder = Outlook.Application.Session.PickFolder
If Not (objFolder Is Nothing) Then
For i = objFolder.Items.Count To 1 Step -1
Set objItem = objFolder.Items.Item(i)
Select Case objFolder.DefaultItemType
'Check email subject, body and sent time
Case olMailItem
strKey = objItem.Subject & "," & objItem.Body & "," & objItem.SentOn
'Check appointment subject, start time, duration, location and body
Case olAppointmentItem
strKey = objItem.Subject & "," & objItem.Start & "," & objItem.Duration & "," & objItem.Location & "," & objItem.Body
'Check contact full name and email address
Case olContactItem
strKey = objItem.FullName & "," & objItem.Email1Address & "," & objItem.Email2Address & "," & objItem.Email3Address
'Check task subject, start date, due date and body
Case olTaskItem
strKey = objItem.Subject & "," & objItem.StartDate & "," & objItem.DueDate & "," & objItem.Body
End Select
strKey = Replace(strKey, ", ", Chr(32))
'Remove the duplicate items
If objDictionary.Exists(strKey) = True Then
objItem.Delete
Else
objDictionary.Add strKey, True
End If
Next i
End If
End Sub
- Sau đó, ký điện tử macro này và thay đổi mức bảo mật macro Outlook của bạn thành thấp.
- Sau đó, bạn có thể chạy dự án VBA mới này. Nhấp trực tiếp vào biểu tượng “Run” trên thanh công cụ.
- Sau đó, bạn sẽ được yêu cầu chọn thư mục mà bạn muốn xóa các mục trùng lặp.
- Cuối cùng, các mục trùng lặp trong thư mục đã chọn sẽ bị xóa ngay lập tức.
Bảo vệ dữ liệu PST dễ bị tổn thương
Do tệp PST dễ bị hỏng, do đó bạn nên dành nhiều nỗ lực để bảo vệ tệp PST của mình. Ví dụ: bạn nên ngăn Outlook bị đóng không đúng cách. Hơn nữa, bạn cần chuẩn bị một bộ hồ sơ chắc chắn sửa chữa Outlook công cụ, chẳng hạn như DataNumen Outlook Repair điều đó sẽ có thể cứu vãn PST của bạn kịp thời.
Giới thiệu tác giả:
Shirley Zhang là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm lấy lại SQL Server và các sản phẩm phần mềm sửa chữa triển vọng. Để biết thêm thông tin, hãy truy cập www.datanumennăm


