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 2019

    Phần mềm tạo bảng tính Excel 2019 cho máy tính

    Excel 2019 là phần mềm bảng tính của Microsoft Office, với khả năng tính toán, thống kê và phân tích dữ liệu phổ biến nhất hiện nay. Excel 2019 được đánh giá cao với nhiều cải tiến về hàm, biểu đồ, tích hợp các tính năng mới trong Pivot Table. Đặc biệt, công cụ này còn hỗ trợ xuất bản lên Power BI, tăng cường hiệu suất công việc của người dùng.

Tin Mới

  • Cách đánh số trang trong Excel

    Đánh số trang trong Excel là tính năng được ít người biết đến, hầu hết chúng ta chỉ sử dụng nhiều trên Word. Tuy nhiên Excel đôi lúc cũng rất cần và để có thể đánh số trang trong Excel cũng rất dễ dàng, bạn cũng có thể

  • Cách thêm xóa hàng và cột trong Excel

    Việc thêm bớt hàng và cột trong Excel giúp quản lý dữ liệu linh hoạt. Bạn có thể nhanh chóng chèn thêm hàng hoặc cột mới vào bất kỳ vị trí nào hoặc xóa chúng khi không cần thiết, đảm bảo bảng tính luôn gọn gàng và dễ

  • Cách xóa macro trong Excel từng mục, tất cả nhanh

    Việc xóa macro trong Excel là điều vô cùng cần thiết, giúp tệp tin của bạn trở nên gọn gàng và dễ quản lý hơn. Nếu gặp phải khó khăn hay không biết thực hiện như thế nào, thì các bạn có thể tham khảo hướng dẫn chi tiết

  • Được 21, 22, 23 điểm khối C nên học trường nào, ngành nào

    Chọn trường và ngành học phù hợp khi đạt được 21, 22, 23 điểm khối C có thể gây nhiều bối rối cho các thí sinh. Dưới đây là một số gợi ý về các