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

Xây dựng Trình tạo email động trong Excel bằng mẫu

Xây dựng Trình tạo email động trong Excel bằng mẫu
Tạo Trình tạo email động với các mẫu trong Excel
 

Email là một trong những công cụ mạnh mẽ nhất để liên lạc. Tự động tạo email có thể tiết kiệm thời gian và đảm bảo tính nhất quán trong giao tiếp. Excel VBA có thể tạo trình tạo email động cho phép bạn tự động tạo email được cá nhân hóa từ các mẫu.

Trong bài viết này, chúng tôi sẽ tạo một trình tạo email động với các mẫu trong Excel.

Điều kiện tiên quyết

  • Microsoft Excel (2016 hoặc mới hơn).
  • Hiểu biết cơ bản về Excel.
  • Truy cập vào trình chỉnh sửa VBA (Đã bật tab Nhà phát triển).

Bước 1:Thiết lập sổ làm việc Excel của bạn

Tạo bảng dữ liệu

  • Thêm trang tính mới có tên Dữ liệu.
  • Tạo cột cho thông tin người nhận của bạn:
    • Tên
    • Họ
    • Email
    • Công ty
    • Sở
    • Vai trò
    • Chủ đề cuộc họp
    • Mục hành động
    • Tên người gửi

Xây dựng Trình tạo email động trong Excel bằng mẫu

Tạo trang mẫu

  • Tạo một trang tính khác có tên Mẫu.
  • Tạo các cột sau:
    • ID mẫu
    • Tên mẫu
    • Dòng chủ đề
    • Nội dung email

Bước 2:Tạo mẫu email

Tạo mẫu email tự động chèn các giá trị bằng cách sử dụng các phần giữ chỗ như {{FirstName}}, {{Company}}, {{Department}}, {{Role}}, v.v.

Mẫu 1:

Hãy tạo một mẫu cho email giới thiệu tự động.

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

Mẫu này được sử dụng cho các email giới thiệu tự động, trong đó các giá trị thực tế thay thế phần giữ chỗ trước khi gửi, đảm bảo thư được cá nhân hóa cho mỗi người nhận.

Giải thích:

  • {{FirstName}}:Phần giữ chỗ cho tên của nhân viên.
  • {{Company}}:Phần giữ chỗ cho tên công ty.
  • {{Department}}:Trình giữ chỗ cho bộ phận nơi nhân viên mới được phân công.
  • {{Role}}:Phần giữ chỗ cho vai trò công việc của nhân viên.

Mẫu 2:

Chúng tôi đã tạo một mẫu khác để liên lạc sau cuộc họp.

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}}

Xây dựng Trình tạo email động trong Excel bằng mẫu

Bước 3:Chèn mã VBA

Để mở trình soạn thảo VBA:

  • Đi tới Nhà phát triển tab>> chọn Visual Basic .
  • Nhấp vào Chèn >> chọn Mô-đun .
  • Sao chép và dán đoạn mã sau:

Xây dựng Trình tạo email động trong Excel bằng mẫu

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

Bước 4:Chạy Trình tạo email

  • Trên Nhà phát triển tab>> nhấp vào Macro .
  • Chọn Tạo email >> nhấp vào Chạy .

Xây dựng Trình tạo email động trong Excel bằng mẫu

  • Trong Hộp thông báo>> nhập ID mẫu:  1 .
  • Nó sẽ gửi tất cả thư theo mẫu 1.

Xây dựng Trình tạo email động trong Excel bằng mẫu

  • Lại Chạy mã.
  • Trong Hộp thông báo>> nhập ID mẫu:2 .

Xây dựng Trình tạo email động trong Excel bằng mẫu

Nó sẽ gửi tất cả các thư theo mẫu 2.

Xây dựng Trình tạo email động trong Excel bằng mẫu

  • Xem lại email đã tạo trước khi gửi chúng.
  • Nếu không cần xem xét, hãy sử dụng .Send thuộc tính thay vì .Display để gửi tất cả email.

Mẹo tùy chỉnh

Thêm trường giữ chỗ mới:

  • Thêm cột mới trong Dữ liệu tờ giấy.
  • Cập nhật hàm Thay thế trong mã VBA để bao gồm trường mới.
  • Thêm trình giữ chỗ mới vào mẫu email của bạn bằng định dạng {{FieldName}}.

Định dạng HTML:

Bạn có thể đưa định dạng HTML vào mẫu email của mình:

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

Kết luận

Hướng dẫn này sẽ giúp bạn thiết lập tính năng tạo email động trong Excel với các mẫu được xác định trước và tự động hóa VBA. Bạn có thể sử dụng các mẫu này để liên lạc trong kinh doanh, theo dõi khách hàng và nhắc nhở tự động. Trình tạo email này sẽ hoạt động như một nền tảng, bạn có thể tùy chỉnh nó dựa trên yêu cầu cụ thể của mình. Chỉ cần tạo mẫu, cập nhật bảng dữ liệu và giữ chỗ trong mã VBA. Hãy nhớ kiểm tra kỹ lưỡng trước khi sử dụng nó trong môi trường sản xuất.

Nhận MIỄN PHÍ Bài tập Excel nâng cao có Giải pháp!