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 = "[email protected]"

strTo = "[email protected]"

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 protected]"

.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é.

https://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

Microsoft giới thiệu tính năng truy vấn bằng ngôn ngữ tự nhiên trên Excel
Cách sửa lỗi #REF! trong Excel
Tất tần tật cách sửa lỗi VBA trong Excel
Cách tách sheet thành nhiều file Excel
Hướng dẫn sắp xếp tên theo thứ tự chữ cái trong Excel
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
  • Excel 2016

    Phần mềm tạo bảng tính, phân tích dữ liệu trên máy tính

    Excel 2016 là một phần trong bộ Microsoft Office 2016 dùng để tạo và chỉnh sửa bảng tính. Excel 2016 với các tính năng phong phú và linh hoạt giúp bạn có thể tạo ra các bảng tính chuyên nghiệp với định dạng, màu sắc và kiểu dáng tùy chỉnh. Bạn cũng có thể tận dụng các công thức và hàm tích hợp sẵn để làm việc với dữ liệu và thực hiện các phép tính phức tạp.

Tin Mới

  • Cách định dạng đường viền cho bảng Excel chi tiết nhất

    Thao tác chèn bảng trên Excel vô cùng quen thuộc với bất kỳ ai khi làm việc với công cụ văn phòng. Chúng ta có thể tùy ý thiết kế giao diện, làm bảng nổi bật hơn trong nội dung bằng cách định dạng đường viền cho bảng Excel. Vậy bạn đã biết cách để định dạng đường viền cho bảng trên ứng dụng Excel chưa.

  • Cách chèn dấu ngoặc trong Excel nhanh nhất

    Nếu bạn đang sử dụng Excel muốn chèn dấu ngoặc để hoàn thiện các biểu thức toán học, đang gặp khó khăn khi không thấy dấu ngoặc. Hãy theo dõi bài viết dưới đây để có thể chèn dấu ngoặc trong Excel nhanh chóng, dễ dàng

  • Cách tạo lịch, Calendar trên Google Sheets nhanh chóng

    Cách tạo lịch trên Google Sheets giúp bạn đọc dễ dàng tạo ra một bảng tính bao gồm các ngày tháng năm để điền các thông tin quan trọng, tạo lời nhắc cho bản thân. Việc tạo lịch trên Google Sheets sẽ hỗ trợ bạn đọc rất nhiều trong công việc giúp bạn sắp xếp công việc, lịch hẹn dễ dàng hơn.

  • Vai trò của công nghệ đối với đời sống con người, bài văn mẫu hay nhất

    Với bài thảo luận Vai trò của công nghệ đối với đời sống con người Ngữ văn 7, Kết nối tri thức, học kì II, các em cần nêu được các mặt tốt và mặt