Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

สร้างตัวสร้างอีเมลแบบไดนามิกใน Excel โดยใช้เทมเพลต

สร้างตัวสร้างอีเมลแบบไดนามิกใน Excel โดยใช้เทมเพลต
การสร้างเครื่องมือสร้างอีเมลแบบไดนามิกด้วยเทมเพลตใน Excel
 

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

ในบทความนี้ เราจะสร้างเครื่องมือสร้างอีเมลแบบไดนามิกพร้อมเทมเพลตใน Excel

ข้อกำหนดเบื้องต้น

  • Microsoft Excel (2016 หรือใหม่กว่า)
  • ความเข้าใจขั้นพื้นฐานของ Excel
  • เข้าถึงตัวแก้ไข VBA (เปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์)

ขั้นตอนที่ 1:การตั้งค่าสมุดงาน Excel ของคุณ

สร้างเอกสารข้อมูล

  • เพิ่มแผ่นงานใหม่ชื่อ Data
  • สร้างคอลัมน์สำหรับข้อมูลผู้รับของคุณ:
    • ชื่อ
    • นามสกุล
    • อีเมล
    • บริษัท
    • แผนก
    • บทบาท
    • หัวข้อการประชุม
    • รายการดำเนินการ
    • ชื่อผู้ส่ง

สร้างตัวสร้างอีเมลแบบไดนามิกใน Excel โดยใช้เทมเพลต

สร้างแผ่นเทมเพลต

  • สร้างอีกแผ่นงานชื่อเทมเพลต
  • สร้างคอลัมน์ต่อไปนี้:
    • รหัสเทมเพลต
    • ชื่อเทมเพลต
    • หัวเรื่อง
    • เนื้อหาอีเมล

ขั้นตอนที่ 2:การสร้างเทมเพลตอีเมล

สร้างเทมเพลตอีเมลที่แทรกค่าแบบไดนามิกโดยใช้ตัวยึดตำแหน่ง เช่น {{FirstName}}, {{Company}}, {{Department}}, {{Role}} ฯลฯ

แม่แบบ 1:

มาสร้างเทมเพลตสำหรับอีเมลการเริ่มต้นใช้งานอัตโนมัติกัน

Dear {{FirstName}},
Welcome to {{Company}}! We're excited to have you on board.
Your account has been set up with the following details:
Department: {{Department}}
Role: {{Role}}
Best regards,
HR Team

เทมเพลตนี้ใช้สำหรับอีเมลการเริ่มต้นใช้งานอัตโนมัติ โดยที่ค่าจริงจะแทนที่ตัวยึดตำแหน่งก่อนที่จะส่ง เพื่อให้มั่นใจว่าข้อความส่วนบุคคลสำหรับผู้รับแต่ละราย

คำอธิบาย:

  • {{FirstName}}:ตัวยึดตำแหน่งสำหรับชื่อพนักงาน
  • {{บริษัท}}:ตัวยึดตำแหน่งสำหรับชื่อบริษัท
  • {{แผนก}}:ตัวยึดตำแหน่งสำหรับแผนกที่ได้รับการมอบหมายพนักงานใหม่
  • {{Role}}:ตัวยึดตำแหน่งสำหรับบทบาทงานของพนักงาน

เทมเพลต 2:

เราได้สร้างเทมเพลตอื่นสำหรับการสื่อสารหลังการประชุม

Hi {{FirstName}},
Thank you for your time during our discussion about {{Meeting Topic}}. As discussed, I'm following up on {{Action Item}}.
Let me know if you have any questions.
Best regards,
{{Sender Name}}

สร้างตัวสร้างอีเมลแบบไดนามิกใน Excel โดยใช้เทมเพลต

ขั้นตอนที่ 3:ใส่โค้ด VBA

วิธีเปิดตัวแก้ไข VBA:

  • ไปที่นักพัฒนาซอฟต์แวร์ แท็บ>> เลือก Visual Basic .
  • คลิก แทรก >> เลือก โมดูล .
  • คัดลอกและวางโค้ดต่อไปนี้:

สร้างตัวสร้างอีเมลแบบไดนามิกใน Excel โดยใช้เทมเพลต

Option Explicit
Public Sub GenerateEmails()
 Dim ws As Worksheet
 Dim templateWs As Worksheet
 Dim lastRow As Long
 Dim i As Long
 Dim emailBody As String
 Dim subjectLine As String
 Dim templateID As Long
 
 ' Set references to worksheets
 Set ws = ThisWorkbook.Sheets("Data")
 Set templateWs = ThisWorkbook.Sheets("Templates")
 
 ' Find last row with data
 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
 
 ' Get template ID from user
 templateID = InputBox("Enter the Template ID number:", "Select Template")
 
 ' Get template text
 subjectLine = GetTemplate("Subject_Line", templateID)
 emailBody = GetTemplate("Email_Body", templateID)
 
 ' Convert special characters to proper line breaks
 emailBody = Replace(emailBody, "\n", vbNewLine)
 
 ' Create Outlook items
 Dim outlookApp As Object
 Dim emailItem As Object
 
 Set outlookApp = CreateObject("Outlook.Application") 
 ' Loop through each row of data
 For i = 2 To lastRow
 ' Create new email
 Set emailItem = outlookApp.CreateItem(0)
 
 With emailItem
 ' Replace placeholders with actual data
 .Subject = ReplaceFields(subjectLine, i, ws)
 .Body = ReplaceFields(emailBody, i, ws) ' Changed from .HTMLBody to .Body
 .To = ws.Cells(i, 3).Value ' Email address in column C
 .Display ' Display email (change to .Send to send automatically)
 End With
 Next i
 
 Set outlookApp = Nothing
End Sub
Private Function GetTemplate(field As String, templateID As Long) As String
 Dim templateWs As Worksheet
 Dim templateRow As Range
 
 Set templateWs = ThisWorkbook.Sheets("Templates")
 
 ' Find the template row
 Set templateRow = templateWs.Columns(1).Find(What:=templateID, LookIn:=xlValues, LookAt:=xlWhole)
 
 If Not templateRow Is Nothing Then
 Select Case field
 Case "Subject_Line"
 GetTemplate = templateWs.Cells(templateRow.Row, 3).Value
 Case "Email_Body"
 GetTemplate = templateWs.Cells(templateRow.Row, 4).Value
 End Select
 End If
End Function
Private Function ReplaceFields(text As String, rowNum As Long, ws As Worksheet) As String
 Dim result As String
 result = text 
 ' Replace all field placeholders with actual data
 result = Replace(result, "{{FirstName}}", ws.Cells(rowNum, 1).Value)
 result = Replace(result, "{{LastName}}", ws.Cells(rowNum, 2).Value)
 result = Replace(result, "{{Company}}", ws.Cells(rowNum, 4).Value)
 result = Replace(result, "{{Department}}", ws.Cells(rowNum, 5).Value)
 result = Replace(result, "{{Role}}", ws.Cells(rowNum, 6).Value)
 result = Replace(result, "{{Meeting Topic}}", ws.Cells(rowNum, 7).Value)
 result = Replace(result, "{{Action Item}}", ws.Cells(rowNum, 8).Value)
 result = Replace(result, "{{Sender Name}}", ws.Cells(rowNum, 9).Value)
 
 ReplaceFields = result
End Function

ขั้นตอนที่ 4:เรียกใช้เครื่องมือสร้างอีเมล

  • ใน นักพัฒนา แท็บ>> คลิก มาโคร .
  • เลือก สร้างอีเมล >> คลิก เรียกใช้ .

สร้างตัวสร้างอีเมลแบบไดนามิกใน Excel โดยใช้เทมเพลต

  • ในกล่องข้อความ>> ป้อน รหัสเทมเพลต:  1 .
  • มันจะส่งอีเมลทั้งหมดตามเทมเพลต 1

สร้างตัวสร้างอีเมลแบบไดนามิกใน Excel โดยใช้เทมเพลต

  • เรียกใช้อีกครั้ง รหัส.
  • ในกล่องข้อความ>> ป้อน รหัสเทมเพลต:2 .

สร้างตัวสร้างอีเมลแบบไดนามิกใน Excel โดยใช้เทมเพลต

มันจะส่งอีเมลทั้งหมดตามเทมเพลต 2

สร้างตัวสร้างอีเมลแบบไดนามิกใน Excel โดยใช้เทมเพลต

  • ตรวจสอบอีเมลที่สร้างขึ้นก่อนที่จะส่ง
  • หากไม่จำเป็นต้องตรวจสอบ ให้ใช้ .ส่ง คุณสมบัติแทน .Display เพื่อส่งอีเมลทั้งหมด

เคล็ดลับการปรับแต่ง

การเพิ่มฟิลด์ตัวยึดตำแหน่งใหม่:

  • เพิ่มคอลัมน์ใหม่ใน ข้อมูล แผ่นงาน
  • อัปเดตฟังก์ชัน RefplaceFields ในโค้ด VBA เพื่อรวมฟิลด์ใหม่
  • เพิ่มตัวยึดตำแหน่งใหม่ให้กับเทมเพลตอีเมลของคุณโดยใช้รูปแบบ {{FieldName}}.

การจัดรูปแบบ HTML:

คุณสามารถรวมการจัดรูปแบบ HTML ในเทมเพลตอีเมลของคุณได้:

<p style="color: blue;">This text will be blue</p>
<strong>This text will be bold</strong>

บทสรุป

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

รับแบบฝึกหัด Excel ขั้นสูงพร้อมโซลูชันฟรี!