Cách gửi email từ bảng tính Excel bằng Script VBA

Các bước để tạo script và gửi email từ bảng tính Excel bằng cách sử dụng script VBA khá đơn giản. Bạn đọc cùng tham khảo bài viết dưới đây của Taimienphi.vn để tìm hiểu cách gửi email từ bảng tính Excel bằng Script VBA.

Trong bài viết dưới đây Taimienphi.vn sẽ hướng dẫn bạn cách gửi gửi email từ bảng tính Excel bằng Script VBA. Ngoài ra bạn đọc có thể tham khảo thêm một số bài viết đã có trên Taimienphi.vn để tìm hiểu cách di chuyển qua lại giữa các bảng tính, Worksheet trong Excel như thế nào nhé.

cach gui email tu bang tinh excel bang script vba

 

Gửi email từ bảng tính Excel

Có nhiều lý do mà người dùng muốn gửi email ngay bên trong bảng tính Excel. Giả sử nếu muốn nhận được thông báo từ nhân viên, người chịu trách nhiệm cập nhật tài liệu hoặc bảng tính hàng tuần, hoặc giả sử nếu muốn gửi bảng tính đến nhiều liên hệ với cùng một nội dung email cho nhiều liên hệ khác nhau.

Đôi khi vì chưa thử nên có nhiều người dùng nghĩ rằng việc tạo script để gửi email từ Excel sẽ phức tạp.

Trong bài viết đưới đây Taimienphi.vn sẽ hướng dẫn bạn cách gửi email từ bảng tính Excel bằng Script VBA, Collaboration Data Objects (CDO).

cach gui email tu bang tinh excel bang script vba

CDO là thành phần được sử dụng trong quá trình gửi email, được sử dụng trên các phiên bản Windows đầu tiên. Trước đây CDO còn có tên gọi là CDONTS, sau khi Windows 2000 và XP ra đời, nó được đổi tên là CDO. Thành phần này có sẵn trong cài đặt VBA trong Microsoft Word, Excel và có sẵn để sử dụng. Bằng cách sử dụng CDO giúp cho việc gửi email từ các sản phẩm Windows được tích hợp VBA trở nên dễ dàng hơn.

 

1. Cách gửi email từ bảng tính Excel bằng Script VBA

Thực hiện theo các bước dưới đây để gửi email từ bảng tính Excel bằng Script VBA:

 

Bước 1: Tạo macro VBA

Đầu tiên, truy cập tab Excel Developer. Trong tab Developer, click chọn Insert trong hộp Controls, sau đó chọn Command Button phù hợp.

cach gui email tu bang tinh excel bang script vba 2

Vẽ Command Button vào bảng tính, sau đó tạo một macro mới bằng cách click chọn Macros trên thanh ribbon Developer.

cach gui email tu bang tinh excel bang script vba 3

Khi bạn click chọn nút Create, trên màn hình sẽ hiển thị trình chỉnh sửa VBA.

Thêm tham chiếu vào thư viện CDO bằng cách điều hướng đến Tools =>References trên trình chỉnh sửa.

cach gui email tu bang tinh excel bang script vba 4

Cuộn xuống danh sách cho đến khi tìm thấy Microsoft CDO for Windows 2000 Library. Đánh tích chọn tùy chọn rồi click chọn OK.

cach gui email tu bang tinh excel bang script vba 5

Khi click chọn OK nhớ lưu lại tên hàm, nơi bạn có thể dán script.

 

Bước 2: Thiết lập các trường From và To

Bước tiếp theo chúng ta cần làm là tạo các đối tượng mail và thiết lập các trường cần thiết để gửi email.

Cần lưu ý, có nhiều trường là tùy chọn, nhưng các trường From và To là bắt buộc.

Dim CDO_Mail As Object

Dim CDO_Config As Object

Dim SMTP_Config As Variant

Dim strSubject As String

Dim strFrom As String

Dim strTo As String

Dim strCc As String

Dim strBcc As String

Dim strBody As String

strSubject = "Results from Excel Spreadsheet"

strFrom = "rdube02@gmail.com"

strTo = "rdube02@gmail.com"

strCc = ""

strBcc = ""

strBody = "The total results for this quarter are: " & Str(Sheet1.Cells(2, 1))

Nếu muốn, bạn có thể tạo các chuỗi bất kỳ để tùy chỉnh email đầy đủ và gán nó cho biến strBody.

Ghép các thành phần của thư bằng cách sử dụng chuỗi & để chèn dữ liệu từ sheet Excel bất kỳ vào thông báo email như trong đoạn mã trên.

 

Bước 3: Cấu hình CDO sử dụng SMTP bên ngoài

Tiếp theo chúng ta sẽ cấu hình CDO để sử dụng máy chủ SMTP bên ngoài bất kỳ để gửi email.

Ví dụ dưới đây thiết lập non-SSL thông qua Gmail. Trong trường hợp nếu cần sử dụng SSL, bạn có thể truy cập Github để tìm kiếm các mã nâng cao.

Set CDO_Mail = CreateObject("CDO.Message")

On Error GoTo Error_Handling

Set CDO_Config = CreateObject("CDO.Configuration")

CDO_Config.Load -1

Set SMTP_Config = CDO_Config.Fields

With SMTP_Config

.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"

.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1

.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email@website.com"

.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"

.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True

.Update

End With

With CDO_Mail

Set .Configuration = CDO_Config

End With

 

Bước 4: Hoàn tất quá trình cài đặt CDO

Sau khi đã cấu hình kết nối với máy chủ SMTP để gửi email, tất cả những gì chúng ta cần làm bây giờ là điền vào các khung phù hợp đối tượng CDO_Mail và phát lệnh Send.

Để làm được điều này, chúng ta sử dụng đoạn mã dưới đây:

CDO_Mail.Subject = strSubject

CDO_Mail.From = strFrom

CDO_Mail.To = strTo

CDO_Mail.TextBody = strBody

CDO_Mail.CC = strCc

CDO_Mail.BCC = strBcc

CDO_Mail.Send

Error_Handling:

If Err.Description <> "" Then MsgBox Err.Description

Trên màn hình sẽ không hiển thị bất kỳ cửa sổ pop-up hay các cảnh báo bảo mật nào trong trường hợp nếu sử dụng đối tượng mail Outlook.

CDO chỉ cần kết hợp email và sử dụng các chi tiết kết nối máy chủ SMTP để kích hoạt việc gửi mail. Đây là cách đơn giản và dễ dàng nhất để kết hợp email vào các script VBA trong Word hay Excel.

Để kết nối Command Button với script này, truy cập trình chỉnh sửa mã, sau đó click chọn Sheet1 để xem mã VBA cho sheet đó.

Nhập tên của hàm, nơi chúng ta sẽ dán đoạn script ở trên vào.

cach gui email tu bang tinh excel bang script vba 6

Thư nhận được trong hộp thư đến có dạng như dưới đây:

cach gui email tu bang tinh excel bang script vba 7

Lưu ý: Nếu nhận được thông báo lỗi The transport failed to connect to the server, cần đảm bảo bạn đã nhập đúng tên người dùng, mật khẩu, máy chủ SMTP và số cổng trong các dòng mã được liệt kê trong With SMTP_Config.

 

2. Tự động hóa toàn bộ quá trình

Để làm được điều này, chúng ta sẽ phải thay đổi macro. Truy cập Visual Basic Editor, sau đó sao chép và dán toàn bộ mã.

Tiếp theo chọn ThisWorkbook từ phân cấp Project.

Từ 2 menu ở góc trên cùng cửa sổ đoạn mã, chọn Workbook và chọn Open từ menu Methods.

Dán script email ở trên vào Private Sub Workbook_Open(). Điều này để chạy macro bất cứ khi nào chúng ta mở file Excel.

cach gui email tu bang tinh excel bang script vba 8

Tiếp theo mở Task Scheduler. Chúng ta sử dụng công cụ này để yêu cầu Windows tự động mở bảng tính theo định kỳ, lúc này này macro sẽ bắt đầu gửi email.

cach gui email tu bang tinh excel bang script vba 9

Chọn Create Basic Task... từ menu Action và thực hiện theo các bước hướng dẫn cho đến khi đến cửa sổ Action.

Chọn Start a program rồi click chọn Next.

cach gui email tu bang tinh excel bang script vba 10

Sử dụng nút Browse để tìm vị trí Excel trên máy tính hoặc sao chép và dán đường dẫn vào khung Program/script.

Tiếp theo nhập đường dẫn đến tài liệu Excel vào khung Add arguments.

Như vậy chúng ta vừa hoàn tất các bước tự động hóa quá trình gửi email từ bảng tính Excel.

Lưu ý: Bạn sẽ phải điều chỉnh các cài đặt Trust Center để đảm bảo macro hoạt động đúng cách.

Để làm được điều này, mở bảng tính và điều hướng File => Options => Trust Center.

Tại đây, tìm và click chọn Trust Center Settings, trên cửa sổ tiếp theo thiết lập là Never show information about blocked content.

Như vậy bài viết trên đây Taimienphi.vn vừa hướng dẫn bạn cách gửi email từ bảng tính Excel bằng Script VBA cũng như cách để tự động hóa quá trình để thao tác nhanh hơn, tiết kiệm thời gian và cải thiện hiệu suất làm việc. Ngoài ra nếu có bất kỳ thắc mắc hoặc câu hỏi nào cần giải đáp, bạn đọc có thể để lại ý kiến của mình trong phần bình luận bên dưới bài viết nhé.

http://thuthuat.taimienphi.vn/cach-gui-email-tu-bang-tinh-excel-bang-script-vba-45752n.aspx
Hiện nay Gmail đã có nhiều sự thay đổi về cả tính năng và giao diện nhằm phục vụ tốt hơn cho người sử dụng, bạn có thể đăng ký Gmail ngay từ bây giờ để bắt đầu sử dụng, cách đăng ký gmail cũng khá nhanh gọn và đơn giản.

Tác giả: Trọng Tâm     (4.0★- 3 đánh giá)  ĐG của bạn?

  

Bài viết liên quan

Cách khôi phục các file Excel chưa lưu, chưa save (Phần 1)
Cách chèn bảng Excel vào Word
Cách tính số ngày bằng Excel
Cách thêm cột trong Excel 2016
7 thủ thuật Excel giúp bạn tính toán, sử dụng Excel 2016 thành thạo hơn
Từ khoá liên quan:

Cách gửi email từ bảng tính Excel bằng Script VBA

, gửi email từ bảng tính Excel, cách gửi email từ bảng tính Excel,

SOFT LIÊN QUAN
  • Learn Excel 2016

    Học sử dụng các tính năng mới của Excel 2016

    Learn Excel 2016 là ứng dụng hướng dẫn người dùng nghiên cứu và nắm bắt mọi tính năng mới của phần mềm Microsoft Excel 2016 và tạo nhanh các bảng spreadsheet chuyên nghiệp, phục vụ công việc và học tập. Dù bạn chỉ mới chập chững làm quen với Excel hay đã dùng nó trong suốt nhiều năm, Learn Excel 2016 đều cho thấy tính hữu dụng cực cao của mình.

Tin Mới


 Mùa hè tới rồi muốn so sánh giá tìm điều hòa giá rẻ nhất thị trường hãy dùng TopGia để so sanh gia có nhiều mẫu dieu hoa để so sanh sanh, xem dieu hoagiá rẻ để so sánh giá