Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để kiểm tra địa chỉ người nhận trước khi gửi qua Outlook?

Đôi khi, bạn có thể bỏ lỡ việc thêm một số người nhận quan trọng vào các trường Tới, CC hoặc BCC trong khi gửi E-mail qua Outlook. Ở đây, tôi có thể giới thiệu một phương pháp để kiểm tra xem các địa chỉ email cụ thể đã được thêm vào trước khi gửi qua Outlook hay chưa.

Kiểm tra địa chỉ trước khi gửi bằng mã VBA


Kiểm tra địa chỉ trước khi gửi bằng mã VBA

Ở đây tôi có hai mã có thể giúp bạn giải quyết công việc này, bạn có thể chọn bất kỳ ai khi bạn cần.

1. nhấn Alt + F11 kmắt để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấn đúp chuột ĐâyOutlookSession từ Project1 để mở trình chỉnh sửa mã, sao chép và dán mã bên dưới vào trình chỉnh sửa.

VBA: kiểm tra địa chỉ người nhận trong trường Tới trước khi gửi

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'UpdatebyExtendoffice20180523
Dim xAddressArr() As Variant
Dim xAddress As String
Dim xRecipient As Recipient
Dim xPrompt As String
Dim xYesNo As Integer
Dim xDictionary As Scripting.Dictionary
On Error Resume Next
Set xDictionary = New Scripting.Dictionary
xAddressArr = Array("example1@126.com", "example2@126.com", "example3@126.com")
For i = LBound(xAddressArr) To UBound(xAddressArr)
    xDictionary.Add xAddressArr(i), True
Next i
For Each xRecipient In Item.Recipients
    If xRecipient.Type = olTo Then
        If xDictionary.Exists(xRecipient.Address) Then xDictionary.Remove xRecipient.Address
    End If
Next
If xDictionary.Count = 0 Then GoTo L1
For i = 0 To xDictionary.Count - 1
    If xAddress = "" Then
        xAddress = xDictionary.Keys(i)
    Else
        xAddress = xAddress + "; " & xDictionary.Keys(i)
    End If
Next i
xPrompt = "You are not sending this to: " & xAddress & ". Are you sure you want to send the Mail?"
xYesNo = MsgBox(xPrompt, vbQuestion + vbYesNo, "Kutools for Outlook")
If xYesNo = vbNo Then Cancel = True
L1:
  Set xRecipient = Nothing
  Set xDictionary = Nothing
End Sub

doc kiểm tra địa chỉ người nhận trước khi gửi 1

Trong mã, bạn có thể thay đổi ("example1@126.com", "example2@126.com", "example3@126.com") cho những người nhận thực sự mà bạn cần.

3. Sau đó, cũng trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp CÔNG CỤ > dự án. Kiểm tra Thời gian chạy tập lệnh của Microsoft hộp kiểm trong Tài liệu tham khảo-Dự án1 thoại.

doc kiểm tra địa chỉ người nhận trước khi gửi 2 mũi tên doc sang phải doc kiểm tra địa chỉ người nhận trước khi gửi 3

4. nhấp chuột OK và lưu mã.

Bây giờ Nếu những người nhận được chỉ định không xuất hiện trong trường Tới khi gửi email, một hộp thoại sẽ bật ra để nhắc bạn có gửi email hay không.
doc kiểm tra địa chỉ người nhận trước khi gửi 4

Với mã trên, nó chỉ kiểm tra các địa chỉ email trong Đến trường, nếu bạn muốn đăng ký Đến, CCBCC , bạn có thể sử dụng mã dưới đây.

VBA: kiểm tra địa chỉ người nhận trong các trường Đến / CC / BCC trước khi gửi

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'UpdatebyExtendoffice20180523
Dim xRecipients As Outlook.Recipients
Dim xRecipient As Outlook.Recipient
Dim xPos As Integer
Dim xYesNo As Integer
Dim xPrompt As String
Dim xAddress As String
On Error Resume Next
If Item.Class <> olMail Then Exit Sub
Set xRecipients = Item.Recipients
xAddress = "example1@gmail.com"
For Each xRecipient In xRecipients
    xPos = InStr(LCase(xRecipient.Address), xAddress)
    If xPos = 0 Then
        xPrompt = "You sending this to " & xAddress & ". Are you sure you want to send it?"
        xYesNo = MsgBox(xPrompt, vbYesNo + vbQuestion + 4096, "Kutools for Outlook")
        If xYesNo = vbNo Then Cancel = True
    End If
Next xRecipient
End Sub

Với mã này, bạn không cần phải kiểm tra Thời gian chạy tập lệnh của Microsoft hộp kiểm, chỉ cần lưu trực tiếp mã để có hiệu lực.


Kutools cho Outlook - Cung cấp 100 Tính năng Nâng cao cho Outlook và Làm cho Công việc Dễ dàng hơn Nhiều!

  • Auto CC / BCC bởi các quy tắc khi gửi email; Tự động chuyển tiếp Nhiều Email theo tùy chỉnh; Tự động trả lời không có máy chủ trao đổi và các tính năng tự động khác ...
  • Cảnh báo BCC - hiển thị tin nhắn khi bạn cố gắng trả lời tất cả nếu địa chỉ thư của bạn có trong danh sách BCC; Nhắc nhở khi thiếu tệp đính kèmvà các tính năng nhắc nhở khác ...
  • Trả lời (Tất cả) Với Tất cả Tệp đính kèm trong cuộc trò chuyện qua thư; Trả lời nhiều email trong vài giây; Tự động thêm lời chào khi trả lời; Thêm Ngày vào chủ đề ...
  • Công cụ Tệp đính kèm: Quản lý Tất cả Tệp đính kèm trong Tất cả Thư, Tự động tách, Nén tất cả, Đổi tên tất cả, Lưu tất cả ... Báo cáo nhanh, Đếm thư đã chọnhữu ích. Cảm ơn !
  • Email rác mạnh mẽ Theo phong tục; Xóa thư và liên hệ trùng lặphữu ích. Cảm ơn ! Cho phép bạn làm việc thông minh hơn, nhanh hơn và tốt hơn trong Outlook.
shot kutools triển vọng tab kutools 1180x121
shot kutools triển vọng kutools plus tab 1180x121
 
Nhận xét (0)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL