Hướng dẫn gửi email từ bảng tính Excel bằng tập lệnh VBA

Sử dụng tập lệnh VBA trong Excel không yêu cầu bất kỳ kiến ​​thức lập trình nào. VBA cho phép bạn thực hiện nhiều tác vụ nâng cao như tạo báo cáo bảng tính chứa tất cả thông tin PC của bạn, gửi email trực tiếp từ bảng tính …

Để gửi email từ Microsoft Excel chỉ cần một vài đoạn mã đơn giản. Đừng ngại thêm tính năng này vào bảng tính của bạn nếu bạn muốn thực sự tận dụng các chức năng của phần mềm Office Excel của mình.

Gửi email từ Excel

Có nhiều lý do khiến bạn có thể muốn gửi email ngay từ Microsoft Excel. Ví dụ: Nhân viên của bạn cập nhật tài liệu và bảng tính hàng tuần và bạn muốn nhận thông báo qua email khi hành động hoàn tất hoặc đôi khi bạn muốn gửi email cho tất cả các địa chỉ liên hệ trong cùng một bảng tính. tại…

Bạn có thể nghĩ rằng việc sử dụng script để gửi email từ Excel là phức tạp, nhưng sự thật là nó rất đơn giản. Bài viết này sẽ hướng dẫn bạn tận dụng một tính năng đã có từ lâu trong VBA Excel, có tên Đối tượng dữ liệu cộng tác (CDO).

Gửi email trực tiếp từ excel

CDO là một thành phần nhắn tin đã được sử dụng trong Windows từ những phiên bản đầu tiên. Nó từng được gọi là CDONTS. Sau khi Windows 2000 & XP ra mắt, “CDO cho Windows 2000” đã thay thế nó. Thành phần này được bao gồm trong cài đặt VBA trong Microsoft Word hoặc Excel và sẵn sàng sử dụng bất kỳ lúc nào.

Sử dụng thành phần này để gửi email trong các sản phẩm Windows với VBA là cực kỳ dễ dàng. Ví dụ bài viết này sử dụng CDO trong Excel để gửi email chứa kết quả trong một ô.

Tải game crack việt hoá tại: https://daominhha.com

Bước 1: Tạo Macro VBA

Đầu tiên, hãy chuyển đến tab Nhà phát triển Excel > bấm vào Chèn trong bàn Kiểm soát, sau đó chọn một nút.

Thêm nút trong Excel

Kéo nó vào trang tính này, rồi tạo macro mới bằng cách bấm vào Macro trong dải băng Nhà phát triển.

Thêm macro vào Excel

Khi nút được nhấp Tạo nên, nó sẽ mở trình soạn thảo VBA.

Thêm tham chiếu vào thư viện CDO bằng cách điều hướng đến Công cụ> Tham khảo trong trình soạn thảo.

Thêm tham chiếu vào Microsoft Excel

Cuộn xuống danh sách cho đến khi bạn nhìn thấy nó Microsoft CDO cho Thư viện Windows 2000. Chọn hộp kiểm và nhấp vào đồng ý.

CDO dành cho Windows

Khi được nhấp đồng ý, ghi lại tên của hàm nơi bạn dán tập lệnh vì bạn sẽ cần nó sau này.

Bước 2: Đặt trường CDO “Từ” và “Đến”

Để làm điều này, trước tiên, bạn cần tạo các đối tượng liên quan đến email và thiết lập tất cả các trường gửi email cần thiết.

Hãy nhớ rằng nhiều trường có thể có hoặc không, nhưng Từ và Đến là bắt buộc.

Dim CDO_Mail dưới dạng đối tượng
Dim CDO_Config As Object
Dim SMTP_Config làm biến thể
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc dưới dạng chuỗi
Dim strBcc dưới dạng chuỗi
Dim strBody dưới dạng chuỗi

strSubject = “Kết quả từ Bảng tính Excel”
strFrom = “rdube02@gmail.com”
strTo = “rdube02@gmail.com”
strCc = “”
strBcc = “”
strBody = “Lời Kết quả cho quý này là:” & Str (Sheet1.Cells (2, 1))

Điều thú vị ở đây là bạn có thể tạo bất kỳ chuỗi mong muốn nào để tùy chỉnh toàn bộ email và gán cho nó biến strBody.

Kết hợp các phần tử trong một nội dung email bằng cách sử dụng chuỗi & để chèn dữ liệu từ bất kỳ bảng tính Microsoft Excel nào ngay trong email (như hình trên).

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

Phần tiếp theo của mã là nơi bạn định cấu hình CDO để sử dụng bất kỳ máy chủ SMTP bên ngoài nào để gửi email.

Ví dụ này không thiết lập SSL qua Gmail, CDO có thể thay thế SSL, nhưng nó nằm ngoài phạm vi của bài viết này. Nếu bạn cần sử dụng SSL, mã nâng cao trong Github có thể giúp bạn.

Đặt CDO_Mail = CreateObject (“CDO.Message”)
Lỗi GoTo Error_Handling

Đặt CDO_Config = CreateObject (“CDO.Configuration”)
CDO_Config.Load -1

Đặt SMTP_Config = CDO_Config.Fields

Với 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”) = “mật khẩu”
.Item (“http://schemas.microsoft.com/cdo/configuration/smtpserverport”) = 25
.Item (“http://schemas.microsoft.com/cdo/configuration/smtpusessl”) = True
.Cập nhật
Kết thúc với

Với CDO_Mail
Đặt .Configuration = CDO_Config
Kết thúc với

Bước 4: Hoàn thành thiết lập CDO

Bây giờ bạn đã định cấu hình kết nối với máy chủ SMTP để gửi email. Tất cả những gì bạn phải làm là điền vào các trường thích hợp cho Đối tượng CDO_Mail và ra lệnh Gửi.

Đây là cách thực hiện:

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 <> “” Thì MsgBox Err.Description

Không có bất kỳ cửa sổ bật lên hoặc cảnh báo bảo mật nào xuất hiện như bạn thường làm khi sử dụng đối tượng email Outlook.

CDO chỉ cần đặt các thành phần email cạnh nhau và sử dụng chi tiết kết nối máy chủ để kích hoạt gửi thông tin. Đây là cách dễ nhất để kết hợp email vào Microsoft Word hoặc Excel VBA script.

Để kết nối nút lệnh với tập lệnh này, hãy truy cập trình chỉnh sửa mã và nhấp vào Sheet1 để xem mã VBA của sổ làm việc.

Nhập tên hàm mà bạn đã dán tập lệnh ở trên.

Gửi email từ Excel

Đây là thông tin bạn nhận được trong hộp thư đến.

Email nhận được trong hộp thư

Ghi chú: Nếu nhận được lỗi Quá trình vận chuyển không kết nối được với máy chủĐảm bảo rằng 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ê tại Với SMTP_Config.

Nâng cao và tự động hóa toàn bộ quy trình

Thật an toàn và thuận tiện để gửi email từ Excel chỉ bằng một nút bấm. Nếu bạn muốn sử dụng tính năng này thường xuyên, bạn có thể tự động hóa nó.

Để làm điều này, bạn cần thay đổi macro. Đi tới Trình soạn thảo Visual Basic, sao chép và dán toàn bộ mã được tập hợp lại với nhau. Tiếp theo, chọn ThisWorkbook từ hệ thống phân cấp Dự án.

Từ hai trường thả xuống ở đầu cửa sổ mã, hãy chọn Sách bài tập và bấm vào Mở từ menu Cách rơi xuống. Dán tập lệnh email ở trên Private Sub Workbook_Open (). Hành động này sẽ chạy macro bất cứ khi nào bạn mở File Excel.

Mở sổ làm việc

Tiếp theo, mở Bảng kế hoạch. Bạn sẽ sử dụng công cụ này để yêu cầu Windows tự động mở bảng tính theo các khoảng thời gian cụ thể. Khi đó, macro của bạn sẽ được kích hoạt và gửi qua email.

Tạo nhiệm vụ cơ bản

Chọn Tạo Tác vụ Cơ bản … từ menu Hoạt động và làm theo hướng dẫn cho đến khi bạn đến màn hình Hành động.

Chọn Start một chương trình và bấm vào kế tiếp.

Chọn một chương trình lịch biểu

Sử dụng nút Duyệt qua để tìm vị trí Microsoft Excel trên máy tính của bạn hoặc sao chép và dán đường dẫn vào trường Chương trình / kịch bản.

Sau đó, nhập đường dẫn đến tài liệu Microsoft Excel trong trường Thêm đối số.

Hoàn thành các hướng dẫn và lịch trình bạn thiết lập sẽ được thực hiện.

Bạn nên kiểm tra tính năng này bằng cách lên lịch hành động trong vài phút tới, sau đó sửa đổi tác vụ sau khi bạn thấy nó hoạt động.

Ghi chú: Bạn có thể phải điều chỉnh cài đặt Trung tâm tin cậy để đảm bảo rằng macro chạy chính xác như sau:

Mở bảng tính và điều hướng đến File> Tùy chọn> Trung tâm Tin cậy.

Đây, bấm vào Cài đặt Trung tâm Tin cậy. Trên màn hình tiếp theo, hãy chọn Không bao giờ hiển thị thông tin về nội dung bị chặn.

Microsoft Excel là một công cụ cực kỳ mạnh mẽ, nhưng học cách sử dụng nó đôi khi có thể thực sự là một thách thức đối với nhiều người. Muốn thành thạo phần mềm này thì bạn cần phải biết sử dụng VBA. Nó không phải là dễ dàng.

Tuy nhiên, với một chút kinh nghiệm VBA, bạn có thể tự động hóa các tác vụ cơ bản trên Microsoft Excel và dành nhiều thời gian hơn để tập trung vào các tác vụ quan trọng hơn.

Hi vọng bài viết hữu ích với bạn. Chúc may mắn!