Bài viết này hướng dẫn bạn cách gửi email hàng loạt từ Excel bằng VBA, một công cụ mạnh mẽ giúp tự động hóa quy trình gửi email cá nhân hóa, gửi email kèm file đính kèm (hình ảnh, video,…), và thiết lập gửi email theo điều kiện cụ thể. Cùng tìm hiểu chi tiết cách thực hiện nhé!
Minh họa gửi email từ Excel
Tự động hóa việc gửi email trong Excel
Trong Excel, việc gửi email hàng loạt cho nhiều người với nội dung tùy chỉnh và file đính kèm khác nhau có thể trở nên phức tạp. Module VBA mSendEmail
cung cấp giải pháp đơn giản và hiệu quả cho vấn đề này với các ưu điểm:
- Tùy chỉnh nội dung email động, theo điều kiện.
- Dễ sử dụng, phù hợp với mọi trình độ.
- Hỗ trợ file log, theo dõi trạng thái gửi email.
Minh họa giao diện gửi email từ Excel
Video hướng dẫn:
https://www.youtube.com/watch?v=dcZEEBtIW4o[/embed]
A. Cấu hình Outlook
Trước khi gửi email từ Excel, bạn cần cấu hình Outlook:
Cấu hình Outlook
Hãy đảm bảo bạn có thể gửi email từ Outlook trước khi tiếp tục.
Hướng dẫn cấu hình Outlook
B. Thêm mã nguồn VBA
- Tải mã nguồn
mSendEmail.bas
tại: https://drive.google.com/open?id=0B87wpzexmU0UN3d5anNBaXgtdVk - Trong Excel, nhấn
Alt + F11
để mở VBA Editor. - Click chuột phải vào workbook, chọn
Import file…
và chọn filemSendEmail.bas
vừa tải.
Nhập file mSendEmail.bas
- Double click vào
Modules
, rồimSendEmail
.
Kiểm tra module mSendEmail
Thủ thuật Excel nâng cao
C. Tạo bảng Email
Bảng Email cần có ít nhất hai cột: “To” (địa chỉ email người nhận) và “Status” (trạng thái gửi). Các cột khác như CC, BCC, Subject, Body, File đính kèm (File 1 đến File 4), và Disable (vô hiệu hóa gửi) là tùy chọn. Mỗi hàng trong bảng tương ứng với một email.
- To: Địa chỉ email người nhận (bắt buộc).
- CC, BCC: Địa chỉ email CC, BCC.
- Status: Trạng thái gửi email (bắt buộc). Giá trị là ngày giờ gửi nếu thành công, ngược lại là thông báo lỗi.
- Subject, Body: Tiêu đề và nội dung email.
- File 1 đến File 4: Đường dẫn đến file đính kèm. Có thể đính kèm nhiều file trong một ô, cách nhau bởi dấu chấm phẩy (;).
- Disable: Nếu là
True
, email sẽ không được gửi.
Cấu trúc bảng Email
1. Nhập Email
Sao chép danh sách email vào cột “To”.
Nhập danh sách email
2. Nhập Subject
Nhập tiêu đề email vào cột “Subject”.
Nhập tiêu đề email
3. Tạo nội dung Email (Body)
Sử dụng các cột phụ và công thức để tạo nội dung email động, cá nhân hóa cho từng người nhận. Hàm Replaces
(tự viết) giúp thay thế các placeholder trong nội dung email.
Tạo nội dung email động
Ví dụ nội dung email
Hoàn thiện nội dung email
4. Tạo file đính kèm
Thêm đường dẫn đến các file đính kèm vào các cột “File 1” đến “File 4”.
Thêm file đính kèm
D. Gửi Email
Có ba cách để gửi email:
1. Gửi thủ công
- Chọn toàn bộ bảng Email.
- Nhấn
Alt + F8
. - Chọn
MacroSendEmail
và clickRun
.
Gửi email thủ công
2. Gửi bằng nút bấm
- Trong VBA Editor (Alt + F11), thêm module mới và nhập mã VBA để gọi thủ tục
SendEmail
. - Chèn nút bấm (Shape) vào sheet và gán macro
SendEmailToButt
cho nút bấm.
Gửi email bằng nút bấm
Gán macro cho nút bấm
3. Gửi bằng VBA
Gọi thủ tục SendEmail(rTable, sFolderLog)
trong VBA, với rTable
là bảng Email và sFolderLog
là đường dẫn đến thư mục lưu file log.
E. Giám sát và xử lý lỗi
- Cột “Status” hiển thị trạng thái gửi email.
- File log (*.log) ghi lại quá trình gửi email.
Kiểm tra trạng thái gửi email
File log
Discussion about this post