สอนส่ง Email อัตโนมัติด้วย Excel VBA แบบง่ายๆ (Automate Email Sending with Excel VBA) [แจกไฟส์ฟรี]

สอนส่งอีเมลอัตโนมัติด้วย Excel VBA แบบง่ายๆ – Automate Email Sending with Excel VBA [แจกไฟส์ฟรี]

การส่งอีเมลอัตโนมัติด้วย Excel VBA เป็นเทคนิคที่ช่วยให้คุณสามารถส่งอีเมลจำนวนมากได้อย่างรวดเร็ว โดยไม่ต้องเสียเวลาพิมพ์หรือแนบไฟล์ด้วยตนเอง เหมาะสำหรับธุรกิจที่ต้องส่งอีเมลเป็นประจำ เช่น ใบแจ้งหนี้ รายงาน หรือการแจ้งเตือนต่าง ๆ

หากคุณกำลังมองหา วิธีส่งอีเมลแนบไฟล์อัตโนมัติด้วย Excel VBA เพื่อส่งอีเมล บทความนี้มีคำตอบ พร้อมแจกไฟล์ตัวอย่างให้คุณนำไปใช้งานได้ทันที!

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 จะมีคอลัมน์ที่ใช้เก็บข้อมูลอีเมลดังนี้

ส่งอีเมลอัตโนมัติด้วย Excel VBA

  • 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)วิธีการใช้งาน

ส่งอีเมลอัตโนมัติด้วย Excel VBA

เมื่อเปิดไฟส์มาให้กรอกรายละเอียดข้อมูลลูกค้าที่เราต้องการจะส่งในแต่ละคอลัมน์พร้อมทั้งใส่ Subject, Body, Attachment

ส่งอีเมลอัตโนมัติด้วย Excel VBA

เมื่อกรอกรายละเอียดเสร็จกด Send Email จะทำการ Runfile และไปเชื่อมต่อกับ Microsoft Outlook เมื่อ Run เสร็จ จะโชว์ Status ว่า Done (สีเขียว)

ส่งอีเมลอัตโนมัติด้วย Excel VBA

ผลปรากฎคือจะโชว์หน้าต่าง 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 นะครับ หากมีคำถามหรือข้อสงสัยเพิ่มเติม สามารถคอมเมนต์หรือสอบถามมาได้เลยครับ แล้วพบกันในบทความถัดไปครับ

ลองดูบทความเพิ่มเติมได้ดังนี้

ปรึกษาเรื่องข้อมูล

รับปรึกษาหรือสอนเรื่องข้อมูล Excel, Data Visulization, Power BI, Dashboard สามารถติดต่อเข้ามาได้ที่