Tôi muốn code cho outlook để can thiệp vào quá trình gửi mail

tuhocvba

Administrator
Thành viên BQT
Outlook cũng có thể viết macro.
Đầu tiên bạn mở outlook. Ấn tổ hợp phím ALT+F11.
Rồi làm theo hướng dẫn dưới đây.
Bạn cần đăng nhập để thấy đính kèm

Bạn viết code vào bên trong thủ tục này, đây là thủ tục can thiệp vào quá trình gửi mail:
Mã:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

End Sub
 

Euler

Administrator
Thành viên BQT
Ví dụ:
Trước khi gửi mail đi, macro sẽ hỏi không muốn/muốn BCC chính bản thân mình vào mail hay không?
(Nhiều khi chúng ta muốn BCC mình vào mail để xác nhận mail đã được gửi thành công hay chưa).
Và macro sẽ hỏi, có thực sự muốn gửi mail đi hay không?
(Đôi khi chúng ta vội vã điều gì đó mà lỡ ấn nút gửi đi. Bằng cách lặp lại câu hỏi, macro trao cho người dùng một cơ hội để huỷ mail nếu muốn).
Mã:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim objRecip As Recipient
Dim strMsg As String
Dim res As Integer
    Dim strBcc As String
   

    On Error Resume Next
    If MsgBox("Ban khong muon nhan mail dung khong?", vbYesNo + vbQuestion) = vbNo Then 'Tu cc mail cho ban than thi an NO, khong muon thi an YES
strBcc = "tuhocvba.net@mail.com"
Set objRecip = Item.Recipients.Add(strBcc) 'Thiet dinh danh sach BCC
objRecip.Type = olBCC 'Kieu gui di la BCC

If Not objRecip.Resolve Then
strMsg = "Could not resolve the Bcc recipient. " & _
"Do you want still to send the message?" 'Noi dung thong bao
res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
"Could Not Resolve Bcc Recipient")
If res = vbNo Then 'Xac nhan xem nguoi dung co muon gui mail di hay khong, neu an NO thi se huy mail, ko gui di nua
Cancel = True 'Khong gui mail di
End If
End If

Set objRecip = Nothing
End If


End Sub
 
  • Like
Reactions: T.H
Top