Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Office

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Khi người dùng gửi email cho khách hàng hoặc sếp thì việc theo dõi khá khó khăn. Trong trường hợp đó, Excel rất hữu ích. Do đó, "gửi email tự động từ Excel đến Outlook" đã được chứng minh là phương pháp tiết kiệm thời gian. Excel VBA Macros và hàm HYPERLINK có thể gửi email tự động hoặc tạo bản nháp bằng cách dùng các mục nhập Excel.

Giả sử chúng ta có dữ liệu Lương điều chỉnh nhân viên trong Excel và muốn gửi email tự động dùng Outlook.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Trong bài viết này, chúng tôi trình bày nhiều biến thể của VBA Macros và hàm HYPERLINK để gửi email tự động từ Excel đến Outlook.

Tải sổ làm việc Excel

⧭ Mở Microsoft Visual Basic và chèn mã vào Module

Trước khi tiến hành trình bày bất kỳ phương pháp nào, cần biết cách mở và chèn Module trong Microsoft Visual Basic trong Excel.

🔄 Mở Microsoft Visual Basic: Có chủ yếu 3 cách để mở cửa sổ Microsoft Visual Basic.

1. Dùng phím tắt: Nhấn ALT+F11 cùng lúc để mở cửa sổ Microsoft Visual Basic.

2. Dùng tab Developer: Trong trang tính Excel, Vào Tab Developer > Chọn Visual Basic. Cửa sổ Microsoft Visual Basic xuất hiện.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

3. Dùng tab Worksheet: Đi đến bất kỳ trang tính nào, Right-Click vào nó > Chọn View Code (từ Menu Context).

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

🔄 Chèn Module trong Microsoft Visual Basic: Có 2 cách chèn Module trong cửa sổ Microsoft Visual Basic,

1. Dùng tùy chọn Sheet: Sau khi mở cửa sổ Microsoft Visual Basic, chọn một Worksheet > Right-Click vào nó > Chọn Insert (từ Menu Context) > sau đó chọn Module.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

2. Dùng Thanh công cụ: Bạn cũng có thể làm bằng cách chọn Insert (từ Thanh công cụ) > sau đó chọn Module.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

4 cách dễ dàng gửi Email tự động từ Excel đến Outlook

Phương pháp 1: Dùng VBA Macro để tự động gửi Email dùng Outlook đến người nhận được chọn

Chúng ta muốn tạo nút Button thực thi Macro để chỉ cần một cú nhấp chuột gửi mail đến người nhận được chọn.

Bước 1: Đi đến tab Insert > Shapes > Chọn hình dạng nào đó (ví dụ, Hình chữ nhật: Góc bo tròn).

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 2: Kéo Biểu tượng Plus đến đâu bạn muốn chèn Hình dạng như hình dưới.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 3: Chọn Màu tô hình và Màu viền ưa thích rồi nhấp chuột phải vào nó. Nhấp vào Edit Text để chèn văn bản.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 4: Dùng hướng dẫn để mở Microsoft Visual Basic và chèn Module. Dán Macro sau vào Module.

Sub ExcelToOutlookSR() Dim mApp As Object Dim mMail As Object Dim SendToMail As String Dim MailSubject As String Dim mMailBody As String For Each r In Selection SendToMail = Range("C" & r.Row) MailSubject = Range("F" & r.Row) mMailBody = Range("G" & r.Row) Set mApp = CreateObject("Outlook.Application") Set mMail = mApp.CreateItem(0) With mMail .To = SendToMail .Subject = MailSubject .Body = mMailBody .Display ' You can use .Send End With Next r End Sub

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

➤ trong mã,

1 – bắt đầu thủ tục macro bằng cách khai báo biến là Object và String.

2 – chạy vòng lặp VBA FOR cho mỗi dòng trong lựa chọn để gán Gửi đến, Chủ đề, và Nội dung Email bằng mục nhập hàng.

3 – gán biến.

4 – thực hiện câu lệnh VBA With để điền các mục Outlook như Gửi đến, Chủ đề Email, v.v. Ở đây macro chỉ thực thi lệnh Display để đưa ra Outlook với bản nháp email. Tuy nhiên, nếu dùng lệnh Send thay thế hoặc sau Display, Outlook sẽ gửi email đã tạo đến người nhận được chọn.

5 – kết thúc vòng lặp VBA FOR.

Bước 5: Quay lại Trang tính. Nhấp chuột phải vào Hình dạng rồi chọn Assign Macro từ tùy chọn Menu Context.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 6: Chọn Macro (ví dụ, ExcelToOutlookSR) dưới Tên Macro và chọn tùy chọn Macro in là This Workbook. Nhấp OK.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 7: Bây giờ, trong trang tính, chọn một hoặc nhiều nhân viên rồi nhấp vào Nút Hình dạng.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 8: Excel nhắc Outlook khởi chạy và tạo hoặc gửi email đến nhân viên được chọn. Vì bạn chọn hai nhân viên, Outlook tạo hai bản nháp email khác nhau sẵn sàng gửi.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Vì macro chỉ cung cấp lệnh Display, Outlook chỉ hiển thị bản nháp email mà không gửi. Dùng lệnh Send để tự động gửi email từ Excel đến Outlook dùng mục nhập ô.

Đọc thêm: Excel Macro gửi Email tự động (3 ví dụ phù hợp)

Phương pháp 2: Gửi Email tự động từ Excel đến Outlook tùy theo giá trị ô cụ thể

Điều gì nếu chúng ta muốn gửi email tự động sau khi đạt mục tiêu từ Excel đến Outlook? Một mã Macro có thể làm việc này dễ dàng.

Giả sử, chúng ta có dữ liệu Doanh số Quý như hình dưới, sau khi đạt mục tiêu (ví dụ, Doanh số> 2000) sẽ tự động nhắc Outlook gửi email từ Excel đến email được gán.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 1: Gõ mã macro sau vào bất kỳ Module nào.

Option Explicit Dim Rng As Range Sub Worksheet_Change(ByVal mRng As Range) On Error Resume Next If mRng.Cells.Count > 1 Then Exit Sub Set Rng = Intersect(Range("F17"), mRng) If Rng Is Nothing Then Exit Sub If IsNumeric(mRng.Value) And Target.Value > 2000 Then Call ExcelToOutlook End If End Sub Sub ExcelToOutlook() Dim mApp As Object Dim mMail As Object Dim mMailBody As String Set mApp = CreateObject("Outlook.Application") Set mMail = mApp.CreateItem(0) mMailBody = "Greetings Sir" & vbNewLine & vbNewLine & _ "Our outlet has quarterly Sales more than the target." & vbNewLine & _ "It's a confirmation mail." & vbNewLine & vbNewLine & _ "Regards" & vbNewLine & _ "Outlet Team" On Error Resume Next With mMail .To = "admin@wsxdn.com" .CC = "" .BCC = "" .Subject = "Notification on Achieving Sales Target" .Body = mMailBody .Display 'or you can use .Send End With On Error GoTo 0 Set mMail = Nothing Set mApp = Nothing End Sub 

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

➤ Từ hình trên, trong các phần,

1 – gán một ô (ví dụ, F17) trong phạm vi để thực thi câu lệnh VBA IF. Nếu câu lệnh cho kết quả True, macro gọi macro khác để thực thi.

2 – khai báo kiểu biến và gán chúng để điền các mục của Outlook.

3 – thực hiện câu lệnh VBA With để gán biến cho các mục email. Dùng lệnh Send thay vì Display nếu bạn muốn gửi email trực tiếp mà không xem lại. Email người nhận được chèn trong macro. Dùng phương pháp thay thế nếu muốn chèn tự động ID email người nhận.

4 – xóa một số biến khỏi gán.

Bước 2: Dùng phím F5 để chạy macro. Ngay lập tức, Excel lấy Outlook với bản nháp email được tạo tự động như sau. Bạn có thể nhấp Send hoặc tự động gửi dùng lệnh Send trong macro.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Đọc thêm: Tự động gửi Email từ Excel dựa trên nội dung ô (2 phương pháp)

Đọc thêm tương tự

  • Cách xem ai đang ở trong file Excel chia sẻ (Với các bước nhanh)
  • Bật chia sổ làm việc trong Excel
  • Cách chia sẻ file Excel cho nhiều người dùng
  • Cách áp dụng Macro gửi Email từ Excel kèm tệp đính kèm

Phương pháp 3: Dùng VBA Macro gửi Email kèm trang tính hoạt động từ Excel bằng Outlook

Thay vào đó, có trường hợp chúng ta cần gửi toàn bộ Trang tính hoạt động đến địa chỉ email được gán. Trong trường hợp đó, chúng ta có thể dùng Hàm tùy chỉnh VBA được gọi trong macro.

Bước 1: Chèn macro dưới vào Module.

Function ExcelOutlook(mTo, mSub As String, Optional mCC As String, Optional mBd As String) As Boolean On Error Resume Next Dim mApp As Object Dim rItem As Object Set mApp = CreateObject("Outlook.Application") Set rItem = mApp.CreateItem(0) With rItem .To = mTo .CC = "" .Subject = mSub .Body = mBd .Attachments.Add ActiveWorkbook.FullName .Display 'or you can use .Send End With Set rItem = Nothing Set mApp = Nothing End Function Sub OutlookMail() Dim mTo As String Dim mSub As String Dim mBd As String mTo = "admin@wsxdn.com" mSub = "Quarterly Sales Data" mBd = "Greetings Sir" & vbNewLine & vbNewLine & _ "Kindly find Outlet's Quarterly Sales data attached with this mail." & vbNewLine & _ "It's a notification mail." & vbNewLine & vbNewLine & _ "Regards" & vbNewLine & _ "Outlet Team" If ExcelOutlook(mTo, mSub, , mBd) = True Then MsgBox "Successfully created the Mail draft or Sent" End If End Sub

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

➤ Từ hình trên, các phần của mã,

1 – khai báo và đặt biến.

2 – gán lệnh dùng câu lệnh VBA With. Dùng lệnh Display hoặc Send để xem lại hoặc gửi trực tiếp email tương ứng.

3 – xóa biến đã đặt trước.

4 – gán câu lệnh VBA With với văn bản.

5 – thực thi Hàm tùy chỉnh VBA.

Bước 2: Để thực thi macro nhấn F5, và ngay lập tức Excel đưa ra Outlook với bản nháp email để xem lại như hình dưới. Sau đó, bạn đã sẵn sàng gửi.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Đọc thêm: Cách gửi Email hàng loạt từ Outlook dùng Excel (3 cách)

Phương pháp 4: Gửi Email tự động từ Excel đến Outlook dùng hàm HYPERLINK

Hàm HYPERLINK tạo liên kết có thể nhấp trong ô Excel để đưa Outlook làm trung gian gửi email tự động từ Excel.

Bước 1: Gõ công thức sau vào ô H5.

=HYPERLINK("MailTo:"&C5&"?Subject="&F5&"&cc="&$D$2&"&body="&G5,"Click Here")

Hàm HYPERLINK lấy "MailTo:"&C5&"?Subject="&F5&"&cc="&$D$2&"&body="&G5 làm link_location, và "Click Here" làm friendly_name.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 2: Nhấn ENTER để dán liên kết. Sau đó nhấp vào liên kết.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 3: Excel đưa bạn đến Outlook. Và bạn thấy tất cả các mục Outlook được điền dữ liệu từ Excel. Nhấp Send.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Bước 4: Kéo Fill Handle để áp dụng công thức cho các ô khác.

Gửi Email tự động từ Excel đến Outlook – 4 phương pháp đã chứng minh

Đọc thêm: Cách gửi Email tự động khi điều kiện đáp ứng trong Excel

Kết luận

Các biến thể VBA Macro và hàm HYPERLINK có thể hữu ích khi gửi email tự động từ Excel đến Outlook. Hy vọng bạn tìm thấy phương pháp ưa thích trong các phương pháp đã mô tả. Bình luận nếu bạn có thắc mắc thêm hoặc muốn bổ sung gì.

Các bài viết liên quan

  • Gửi Email nhắc nhở tự động từ trang tính Excel dùng VBA
  • Cách gửi bảng tính Excel có thể chỉnh sửa qua Email (3 phương pháp nhanh)
  • Macro gửi Email từ Excel có nội dung (3 trường hợp hữu ích)
  • Cách tự động gửi Email từ Excel dựa trên ngày
  • Cách gửi Email từ Excel có nội dung dùng Macro (với các bước dễ dàng)