เมื่อผู้ใช้ส่งอีเมลถึงลูกค้าหรือหัวหน้า การติดตามค่อนข้างยาก ในกรณีนั้น Excel มีประโยชน์ ดังนั้น “ส่งอีเมลอัตโนมัติจาก Excel ไปยัง Outlook” ได้รับการพิสูจน์แล้วว่าเป็นวิธีการประหยัดเวลา มาโคร Excel VBA และ ไฮเปอร์ลิงก์ ฟังก์ชันสามารถส่งอีเมลอัตโนมัติหรือสร้างร่างโดยใช้รายการ Excel ได้
สมมติว่าเรามี เงินเดือนปรับโครงสร้างพนักงาน ข้อมูลใน Excel และเราต้องการส่งอีเมลอัตโนมัติโดยใช้ Outlook .
ในบทความนี้ เราสาธิตรูปแบบต่างๆ ของ มาโคร VBA และ ไฮเปอร์ลิงก์ ฟังก์ชันส่งอีเมลอัตโนมัติจาก Excel ถึง Outlook .
ดาวน์โหลดสมุดงาน Excel
⧭ การเปิด Microsoft Visual Basic และการแทรกโค้ดในโมดูล
ก่อนดำเนินการสาธิตวิธีการใดๆ คุณจำเป็นต้องทราบวิธีการเปิดและแทรกโมดูล ใน Microsoft Visual Basic ใน Excel
🔄 การเปิด Microsoft Visual Basic: ส่วนใหญ่มี 3 วิธีการเปิด Microsoft Visual Basic หน้าต่าง
1. การใช้แป้นพิมพ์ลัด: กด ALT+F11 ทั้งหมดเพื่อเปิด Microsoft Visual Basic หน้าต่าง
2. การใช้แท็บนักพัฒนา: ในเวิร์กชีต Excel ไปที่ แท็บนักพัฒนาซอฟต์แวร์> เลือก Visual Basic . Microsoft Visual Basic หน้าต่างจะปรากฏขึ้น
3. การใช้แท็บแผ่นงาน: ไปที่เวิร์กชีตใดก็ได้ คลิกขวา ในนั้น> เลือก ดูโค้ด (จาก บริบท เมนู )
🔄 การแทรกโมดูลใน Microsoft Visual Basic: มี 2 วิธีแทรก โมดูล ใน Microsoft Visual Basic หน้าต่าง
1. การใช้ตัวเลือกของชีต: หลังจากเปิด Microsoft Visual Basic หน้าต่าง เลือก แผ่นงาน> คลิกขวา ที่มัน> เลือก แทรก (จาก เมนูบริบท )> จากนั้นเลือก โมดูล .
2. การใช้แถบเครื่องมือ: คุณสามารถทำได้โดยเลือก แทรก (จาก แถบเครื่องมือ )> จากนั้นเลือก โมดูล .
4 วิธีง่ายๆ ในการส่งอีเมลอัตโนมัติจาก Excel ไปยัง Outlook
วิธีที่ 1:การใช้มาโคร VBA เพื่อส่งอีเมลโดยอัตโนมัติโดยใช้ Outlook ไปยังผู้รับที่เลือก
เราต้องการสร้างมาโคร ปุ่ม โดยเราสามารถส่งอีเมลไปยังผู้รับที่เลือกได้ด้วยการคลิกเพียงครั้งเดียว
ขั้นตอนที่ 1: ไปที่ แทรก แท็บ> รูปร่าง> เลือกรูปร่างที่เสนอ (เช่น สี่เหลี่ยม:มุมโค้งมน )
ขั้นตอนที่ 2: ลาก ไอคอนบวก ทุกที่ที่คุณต้องการแทรก รูปร่าง ดังแสดงในภาพด้านล่าง
ขั้นตอนที่ 3: เลือก เติมรูปร่าง . ที่ต้องการ และ โครงร่าง สี จากนั้นคลิกขวาที่มัน คลิกที่ แก้ไขข้อความ เพื่อแทรกข้อความ
ขั้นตอนที่ 4: ใช้คำแนะนำ เพื่อเปิด Microsoft Visual Basic และแทรก โมดูล . วางมาโครต่อไปนี้ใน โมดูล .
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
➤ ในโค้ด
1 – เริ่มขั้นตอนแมโครโดยการประกาศตัวแปรเป็น Object และ สตริง .
2 – เรียกใช้ VBA สำหรับ วนซ้ำสำหรับแต่ละแถวในส่วนที่เลือกเพื่อกำหนด ส่งไปยัง . ของอีเมล , เรื่อง และ ร่างกาย โดยใช้รายการแถว
3 – กำหนดตัวแปร
4 – ดำเนินการ VBA ด้วย คำสั่งที่จะเติม Outlook รายการเช่น ส่งไปที่ , หัวเรื่องอีเมล ฯลฯ ที่นี่มาโครเรียกใช้เฉพาะ การแสดงผล คำสั่งเพื่อดึง Outlook ด้วยอีเมลฉบับร่าง อย่างไรก็ตาม ถ้า ส่ง ใช้คำสั่งแทนหรือหลัง แสดงผล Outlook จะส่งอีเมลที่สร้างไปยังผู้รับที่เลือก
5 – จบ VBA FOR วนซ้ำ
ขั้นตอนที่ 5: กลับไปที่แผ่นงาน คลิกขวาที่ รูปร่าง จากนั้นเลือก กำหนดมาโคร จาก เมนูบริบท ตัวเลือก
ขั้นตอนที่ 6: เลือกมาโคร (เช่น ExcelToOutlookSR ) ภายใต้ ชื่อมาโคร และเลือก มาโครใน ตัวเลือกเป็น สมุดงานนี้ . คลิกที่ ตกลง .
ขั้นตอนที่ 7: ตอนนี้ ในเวิร์กชีต ให้เลือกพนักงานหนึ่งคนหรือหลายคน จากนั้นคลิกที่ ปุ่มรูปร่าง .
ขั้นตอนที่ 8: Excel พร้อมท์ Outlook เพื่อรับประทานอาหารกลางวันและสร้างหรือส่งอีเมลไปยังพนักงานที่เลือก เมื่อคุณเลือกพนักงานสองคน Outlook สร้างร่างอีเมลที่แตกต่างกันสองฉบับพร้อมที่จะส่ง
เนื่องจากมาโครแสดงเฉพาะ การแสดงผล คำสั่ง Outlook เพียงแสดงร่างอีเมลโดยไม่ต้องส่ง ใช้ ส่ง คำสั่งให้ส่งอีเมลอัตโนมัติจาก Excel ไปยัง Outlook โดยใช้รายการเซลล์
อ่านเพิ่มเติม: มาโคร Excel เพื่อส่งอีเมลโดยอัตโนมัติ (ตัวอย่างที่เหมาะสม 3 ตัวอย่าง)
วิธีที่ 2:การส่งอีเมลโดยอัตโนมัติจาก Excel ไปยัง Outlook ขึ้นอยู่กับค่าของเซลล์ที่ระบุ
จะเป็นอย่างไรถ้าเราต้องการส่งอีเมลอัตโนมัติหลังจากบรรลุเป้าหมายจาก Excel ไปยัง Outlook ? รหัสมาโครสามารถทำงานนี้ได้อย่างง่ายดาย
สมมติว่าเรามี ข้อมูลการขายรายไตรมาส ดังที่แสดงด้านล่าง หลังจากบรรลุเป้าหมาย (เช่น ยอดขาย> 2000 ) จะถาม Outlook . โดยอัตโนมัติ เพื่อส่งอีเมลจาก Excel ไปยังรหัสอีเมลที่กำหนด
ขั้นตอนที่ 1: พิมพ์โค้ดมาโครต่อไปนี้ในโมดูล .
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 = "[email protected]"
.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
➤ จากภาพด้านบน ในส่วน
1 – กำหนดเซลล์ (เช่น F17 ) ภายในช่วงเพื่อดำเนินการ VBA IF คำแถลง. หากข้อความแจ้งผลเป็น จริง , มาโครเรียกมาโครอื่นเพื่อดำเนินการ
2 – ประกาศประเภทตัวแปรและกำหนดให้เติม Outlook รายการของ
3 – ดำเนินการ VBA ด้วย คำสั่งกำหนดตัวแปรให้กับรายการอีเมล ใช้ ส่ง คำสั่งแทน แสดงผล ในกรณีที่คุณต้องการส่งอีเมลโดยตรงโดยไม่ตรวจสอบ อีเมลของผู้รับถูกแทรกภายในมาโคร ใช้วิธีการอื่นในกรณีที่คุณต้องการแทรก ID อีเมลของผู้รับโดยอัตโนมัติ
4 – ล้างตัวแปรบางอย่างจากการมอบหมาย
ขั้นตอนที่ 2: ใช้ F5 คีย์เพื่อเรียกใช้แมโคร ในอีกสักครู่ Excel จะดึงข้อมูล Outlook ด้วยอีเมลฉบับร่างที่สร้างขึ้นโดยอัตโนมัติดังที่แสดงต่อไปนี้ คุณสามารถคลิกที่ ส่ง หรือส่งอัตโนมัติโดยใช้ ส่ง คำสั่งในมาโคร
อ่านเพิ่มเติม: ส่งอีเมลจาก Excel โดยอัตโนมัติตามเนื้อหาของเซลล์ (2 วิธี)
การอ่านที่คล้ายกัน
- วิธีดูว่าใครอยู่ในไฟล์ Excel ที่แชร์ (ด้วยขั้นตอนด่วน)
- เปิดใช้งานการแชร์เวิร์กบุ๊กใน Excel
- วิธีแชร์ไฟล์ Excel สำหรับผู้ใช้หลายคน
- วิธีการใช้มาโครเพื่อส่งอีเมลจาก Excel พร้อมไฟล์แนบ
วิธีที่ 3:การใช้ VBA Macro เพื่อส่งอีเมลด้วย Active Worksheet จาก Excel โดย Outlook
หรืออาจมีบางกรณีที่เราต้องส่ง แผ่นงาน . ทั้งหมด ไปยังที่อยู่อีเมลที่กำหนด ในกรณีนั้น เราสามารถใช้ VBA Custom Function ที่จะเรียกภายในมาโคร
ขั้นตอนที่ 1: แทรกมาโครด้านล่างใน โมดูล .
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 = "[email protected]"
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
➤ จากภาพด้านบน ส่วนของโค้ด
1 – ประกาศและตั้งค่าตัวแปร
2 – กำหนดคำสั่งโดยใช้ VBA With คำแถลง. ใช้ การแสดงผล หรือ ส่ง คำสั่งสำหรับตรวจสอบหรือส่งอีเมลโดยตรงตามลำดับ
3 – ล้างตัวแปรที่ตั้งไว้ก่อนหน้านี้
4 – กำหนด VBA ด้วย คำสั่งพร้อมข้อความ
5 – รัน VBA Custom Function .
ขั้นตอนที่ 2: หากต้องการเรียกใช้แมโครให้กด F5 และ Excel นำ Outlook . ออกมาในทันที พร้อมอีเมลฉบับร่างให้ตรวจสอบคล้ายกับภาพด้านล่าง เสร็จแล้วค่อยส่ง
อ่านเพิ่มเติม: วิธีการส่งอีเมลจำนวนมากจาก Outlook โดยใช้ Excel (3 วิธี)
วิธีที่ 4:การส่งอีเมลอัตโนมัติจาก Excel ไปยัง Outlook โดยใช้ฟังก์ชัน HYPERLINK
ไฮเปอร์ลิงก์ ฟังก์ชันสร้างลิงก์ที่คลิกได้ในเซลล์ Excel เพื่อนำ Outlook เป็นสื่อกลางในการส่งอีเมลอัตโนมัติจาก Excel
ขั้นตอนที่ 1: พิมพ์สูตรต่อไปนี้ในเซลล์ H5 .
=HYPERLINK("MailTo:"&C5&"?Subject="&F5&"&cc="&$D$2&"&body="&G5,"Click Here")
ไฮเปอร์ลิงก์ ฟังก์ชันใช้ “MailTo:”&C5&”?Subject=”&F5&”&cc=”&$D$2&”&body=”&G 5 เป็น link_location และ “คลิกที่นี่” เป็น friendly_name .
ขั้นตอนที่ 2: กด ENTER เพื่อวางลิงค์ จากนั้นคลิกที่ลิงค์
ขั้นตอนที่ 3: Excel จะพาคุณไปที่ Outlook . และคุณจะเห็น Outlook . ทั้งหมด รายการจะเต็มไปด้วยข้อมูลที่ได้รับมอบหมายจาก Excel คลิกที่ ส่ง .
ขั้นตอนที่ 4: ลากเติมแฮนเดิล เพื่อนำสูตรไปประยุกต์ใช้กับเซลล์อื่นๆ
อ่านเพิ่มเติม: วิธีการส่งอีเมลโดยอัตโนมัติเมื่อตรงตามเงื่อนไขใน Excel
บทสรุป
ตัวแปรมาโคร VBA และ ไฮเปอร์ลิงก์ ฟังก์ชันจะมีประโยชน์ในขณะส่งอีเมลอัตโนมัติจาก Excel ไปยัง Outlook หวังว่าคุณจะพบวิธีการที่คุณต้องการภายในวิธีที่อธิบายไว้ข้างต้น แสดงความคิดเห็นหากคุณมีคำถามเพิ่มเติมหรือมีอะไรเพิ่มเติม
บทความที่เกี่ยวข้อง
- ส่งอีเมลเตือนความจำโดยอัตโนมัติจากแผ่นงาน Excel โดยใช้ VBA
- วิธีส่งสเปรดชีต Excel ที่แก้ไขได้ทางอีเมล (วิธีด่วน 3 วิธี)
- มาโครเพื่อส่งอีเมลจาก Excel พร้อมเนื้อหา (3 กรณีที่เป็นประโยชน์)
- วิธีการส่งอีเมลโดยอัตโนมัติจาก Excel ตามวันที่
- วิธีการส่งอีเมลจาก Excel ด้วยเนื้อความโดยใช้มาโคร (ด้วยขั้นตอนง่ายๆ)