Dùng Excel để gửi mail trong Lotus Note
Nếu bạn có một danh sách người nhận mail cùng nội dung cần gửi và bạn muốn dùng Excel để gửi mail tự động cho một danh sách với các nội dung khác nhau thông qua Lotus Note, bài viết này là dành cho bạn.
Giả sử tôi có một danh sách như sau bao gồm tên người nhận, địa chỉ email và địa chỉ lưu file. Mục đích của tôi là muốn gửi 1 bảng lương như một file đính kèm trong mail và nội dung mail để thông báo lương.
Bạn có thể dùng đoạn code sau đây:
Và sau đó, bạn chỉ cần sử dụng đoạn code sau đây để gửi:
Nhìn vào đoạn code trên, bạn có thể thấy với địa chỉ người nhận, code sẽ chạy vòng lặp để lấy từng giá trị tại cột B, và tương ứng với tiêu đề mail ngay tại ô G1. Nội dung mail đã được ghi lại ngay trong đoạn code và nếu cần bạn có thể tự chỉnh sửa theo ý mình tại biến bodyletter1. Và cuối cùng file đính kèm sẽ lấy theo địa chỉ có tại cột C.
Và cuối cùng, chúng ta cần làm một nút bấm để khi cần gửi mail, chỉ cần bấm nút. Bạn có thể tham khảo thêm bài viết này.
Chúc bạn thành công!
Một số bài viết có liên quan:
1/ Làm cách nào để ghi chú hiệu quả trong VBA?
2/ Conditional Formatting cho biểu đồ bằng VBA
3/ Khi nào nên sử dụng Msgbox, Inputbox và Userform?
4/ 8 thủ thuật trong VBE bạn nên biết
5/ Kích hoạt macro từ nút bấm ngoài bảng tính
6/ Làm thế nào để thay thế các chữ OK, CANCEL,... nhàm chán của Msgbox
7/ Giới thiệu VBA trong Excel
8/ Viết code để nhìn thấy ai là người cập nhật bảng tính của bạn lần gần đây nhất
9/ 4 cách sử dụng Immediate Window trong VBA hiệu quả hơn
10/ 3 gợi ý nhỏ mang lại thành công trong khai báo biến trong VBA
Nếu bạn có một danh sách người nhận mail cùng nội dung cần gửi và bạn muốn dùng Excel để gửi mail tự động cho một danh sách với các nội dung khác nhau thông qua Lotus Note, bài viết này là dành cho bạn.
Giả sử tôi có một danh sách như sau bao gồm tên người nhận, địa chỉ email và địa chỉ lưu file. Mục đích của tôi là muốn gửi 1 bảng lương như một file đính kèm trong mail và nội dung mail để thông báo lương.

Bạn có thể dùng đoạn code sau đây:
Mã:
Sub Send_Email_via_Lotus_Notes_Attachment(receiver As String, subject As String, bodyletter As String, stAttachment As String)
Dim obAttachment As Object, EmbedObject As Object
Const EMBED_ATTACHMENT As Long = 1454
Set Session = CreateObject("Notes.NotesSession")
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
Set Maildb = Session.GetDatabase("", MailDbName)
If Maildb.IsOpen = True Then
Else
Maildb.OPENMAIL
End If
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
stSignature = Maildb.GetProfileDocument("CalendarProfile").GetItemValue("Signature")(0)
Recipient = receiver
MailDoc.SendTo = Recipient
MailDoc.subject = subject
MailDoc.Body = bodyletter & vbCrLf & vbCrLf & stSignature
Set obAttachment = MailDoc.CreateRichTextItem("stAttachment")
Set EmbedObject = obAttachment.EmbedObject(EMBED_ATTACHMENT, "", stAttachment)
MailDoc.SaveMessageOnSend = True
MailDoc.PostedDate = Now()
On Error GoTo errorhandler1
MailDoc.SEND 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set Session = Nothing
Exit Sub
errorhandler1:
Set Maildb = Nothing
Set MailDoc = Nothing
Set Session = Nothing
End Sub
Và sau đó, bạn chỉ cần sử dụng đoạn code sau đây để gửi:
Mã:
Sub SendTo()
Dim EndR As Long, i As Long
Dim receiver1 As String, subject1 As String, bodyletter1 As String, stattachment1 As String
EndR = Sheet1.Range("B65000").End(xlUp).Row
For i = 2 To EndR
receiver1 = Sheet1.Range("B" & i).Value
subject1 = Sheet1.Range("G1").Value
bodyletter1 = "Dear " & Sheet1.Range("A" & i).Value & Chr(13) & Chr(13) & "Please find the payslip 10-2016 in the attached file."
stattachment1 = Sheet1.Range("C" & i).Value
Call Send_Email_via_Lotus_Notes_Attachment(receiver1, subject1, bodyletter1, stattachment1)
Next i
End Sub
Nhìn vào đoạn code trên, bạn có thể thấy với địa chỉ người nhận, code sẽ chạy vòng lặp để lấy từng giá trị tại cột B, và tương ứng với tiêu đề mail ngay tại ô G1. Nội dung mail đã được ghi lại ngay trong đoạn code và nếu cần bạn có thể tự chỉnh sửa theo ý mình tại biến bodyletter1. Và cuối cùng file đính kèm sẽ lấy theo địa chỉ có tại cột C.
Và cuối cùng, chúng ta cần làm một nút bấm để khi cần gửi mail, chỉ cần bấm nút. Bạn có thể tham khảo thêm bài viết này.

Chúc bạn thành công!
Một số bài viết có liên quan:
1/ Làm cách nào để ghi chú hiệu quả trong VBA?
2/ Conditional Formatting cho biểu đồ bằng VBA
3/ Khi nào nên sử dụng Msgbox, Inputbox và Userform?
4/ 8 thủ thuật trong VBE bạn nên biết
5/ Kích hoạt macro từ nút bấm ngoài bảng tính
6/ Làm thế nào để thay thế các chữ OK, CANCEL,... nhàm chán của Msgbox
7/ Giới thiệu VBA trong Excel
8/ Viết code để nhìn thấy ai là người cập nhật bảng tính của bạn lần gần đây nhất
9/ 4 cách sử dụng Immediate Window trong VBA hiệu quả hơn
10/ 3 gợi ý nhỏ mang lại thành công trong khai báo biến trong VBA
File đính kèm
Lần chỉnh sửa cuối: