การส่งอีเมลอัตโนมัติด้วย Excel VBA เป็นเทคนิคที่ช่วยให้คุณสามารถส่งอีเมลจำนวนมากได้อย่างรวดเร็ว โดยไม่ต้องเสียเวลาพิมพ์หรือแนบไฟล์ด้วยตนเอง เหมาะสำหรับธุรกิจที่ต้องส่งอีเมลเป็นประจำ เช่น ใบแจ้งหนี้ รายงาน หรือการแจ้งเตือนต่าง ๆ
หากคุณกำลังมองหา วิธีส่งอีเมลแนบไฟล์อัตโนมัติด้วย Excel VBA เพื่อส่งอีเมล บทความนี้มีคำตอบ พร้อมแจกไฟล์ตัวอย่างให้คุณนำไปใช้งานได้ทันที!
Table of Contents
1.)ทำไมต้องใช้ Excel VBA ส่งอีเมลอัตโนมัติ?
1.1) สำหรับคนที่ต้องการส่งอีเมลจำนวนมากและต้องส่งทุกวัน
ในหลายองค์กรอาจจะต้องส่งอีเมลเป็นจำนวนมาก และต้องแนบเอกสารไฟส์ PDF ที่มีข้อมูลของแต่ละที่ไม่เหมือนกัน ร่วมถึงเนื้อหาในอีเมลไม่เหมือนกันสามารถนำไฟส์นี้ไปประยุกต์ใช้ได้ครับ
1.2) สำหรับเจ้าของธุรกิจขนาดเล็กที่ไม่ต้องการลงทุนมาก
ในการจ้างเขียนโปรแกรมส่งอีเมลนั้นมีค่าใช้จ่ายตั้งแต่หลักพันถึงหลักหมื่น ขึ้นอยู่กับความละเอียดในการเขียน เช่น ส่งเนื้อหา ,ไฟส์แนบ, HTML Email, ระบบเก็บ Log, Custom API (ไฟส์ที่ผมแนบน่าจะมูลค่าหลักพันครับ)
1.3) สามารถเพิ่มประสิทธิภาพ ลดเวลาการทำงาน
ถ้าหากเราส่งอีเมลหาคนทั่วไปสัก 1 คน ใช้เวลาคนละ 30 วินาที ถ้าหากต้องส่ง 100 คน อาจต้องใช้เวลาถึง 1 ชั่วโมง ดังนั้นใช้ ส่งอีเมลแบบอัตโนมัติด้วย Excel อันนี้จะมีประโยชน์มากครับ
1.4)ลดข้อผิดพลาด
ลดโอกาสในการส่งอีเมลผิด หรือแนบไฟล์ผิด สามารถกำหนดรูปแบบอัตโนมัติให้ตรงกับที่ต้องการ
2.)วิธีการใช้งานไฟส์นี้
2.1)ในชีต Excel จะมีคอลัมน์ที่ใช้เก็บข้อมูลอีเมลดังนี้
- Skip (ข้าม) : มี Dropdown สามารถเลือก “Yes” = ไม่ส่ง , “No” = ส่ง
- Status : เมื่อส่งสำเร็จจะขึ้น “Done”
- From : อีเมลผู้ส่ง
- To : อีเมลคนที่นำส่ง
- CC : อีเมลสำเนา
- Subject : ชื่อเรื่อง
- Body : เนื้อหา
- Attachment : สามารถแนบไฟส์ได้สูงสุด 4 ไฟส์ เมื่อนำเม้าส์ไปกดใน Cell ที่จะส่งกดปุ่ม “Get File Path” มีปุ่มให้เลือกว่าว่าจะนำไฟส์ในส่ง
- Send / Display : สามารถกดติ๊กได้ ถ้าติ๊ก Send คือทำการส่งเลย แต่ถ้าติ๊ก Display คือโชว์ข้อมูลก่อนส่งแล้วค่อยกดส่ง
- Send Email : กดแล้วจะดำเนินการ Run File นี้
2.2)วิธีการใช้งาน
เมื่อเปิดไฟส์มาให้กรอกรายละเอียดข้อมูลลูกค้าที่เราต้องการจะส่งในแต่ละคอลัมน์พร้อมทั้งใส่ Subject, Body, Attachment
เมื่อกรอกรายละเอียดเสร็จกด Send Email จะทำการ Runfile และไปเชื่อมต่อกับ Microsoft Outlook เมื่อ Run เสร็จ จะโชว์ Status ว่า Done (สีเขียว)
ผลปรากฎคือจะโชว์หน้าต่าง Outlook ขึ้นมาพร้อมรายละเอียดที่เราได้กรอกลงไปใน Excel (ในกรณีนี้เรากดแบบ Display จึงโชว์ขึ้นมาให้ตรวจทานก่อน, ถ้ากดแบบ Send จะเป็นการส่งไปเลยครับ)
2.3)การเขียน Code Email VBA
- Send_Email()
Sub Send_Email()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Bulk Email")
Dim i As Integer
Dim OA As Object
Dim msg As Object
Set OA = CreateObject("outlook.application")
Dim last_row As Integer
last_row = sh.Range("D" & Application.Rows.Count).End(xlUp).Row
For i = 5 To last_row
If UCase(sh.Range("A" & i).Value) <> "YES" Then
Set msg = OA.CreateItem(0)
msg.To = sh.Range("D" & i).Value
msg.Subject = sh.Range("F" & i).Value
msg.body = sh.Range("G" & i).Value
If sh.Range("A1").Value = 2 Then
msg.Send
Else
msg.display
End If
sh.Range("B" & i).Value = "Done"
End If
Next i
MsgBox "Completed!!", vbInformation
End Sub
- Get_File_Path()
Sub Get_File_Path()
Dim file_path As String
file_path = Application.GetOpenFilename(MultiSelect:=False)
If file_path <> "False" Then
Selection.Value = file_path
End If
End Sub
3.) กรอกอีเมลของคุณด้านล่าง แล้วรับลิงก์ดาวน์โหลด Excel VBA Automation Sending Email Template ทันที!
4.) คลิปวีดีโอสอน Excel VBA Automation Sending Email Template
หวังว่าบทความนี้จะเป็นประโยชน์สำหรับทุกคนที่ต้องการส่งอีเมลอัตโนมัติด้วย Excel นะครับ หากมีคำถามหรือข้อสงสัยเพิ่มเติม สามารถคอมเมนต์หรือสอบถามมาได้เลยครับ แล้วพบกันในบทความถัดไปครับ
ลองดูบทความเพิ่มเติมได้ดังนี้
- Passive Income สำหรับพนักงานประจำ
- สร้างอิสรภาพทางการเงินได้อย่างไร
- รีวิวหนังสือ Grit เคล็ดลับแห่งความสำเร็จ
ปรึกษาเรื่องข้อมูล
รับปรึกษาหรือสอนเรื่องข้อมูล Excel, Data Visulization, Power BI, Dashboard สามารถติดต่อเข้ามาได้ที่
- Line OA : Bookintelligent