Excel의 템플릿을 사용하여 동적 이메일 생성기 만들기
이메일은 의사소통을 위한 가장 강력한 도구 중 하나입니다. 이메일 생성을 자동화하면 시간을 절약하고 커뮤니케이션의 일관성을 보장할 수 있습니다. Excel VBA는 템플릿에서 개인화된 이메일을 자동으로 생성할 수 있는 동적 이메일 생성기를 만들 수 있습니다.
이 글에서는 Excel의 템플릿을 사용하여 동적 이메일 생성기를 만들어 보겠습니다.
전제조건
- Microsoft Excel(2016 이상).
- Excel에 대한 기본 이해
- VBA 편집기에 액세스합니다(개발자 탭 활성화됨).
1단계:Excel 통합 문서 설정
데이터 시트 만들기
- Data라는 이름의 새 시트를 추가합니다.
- 수신자 정보에 대한 열 만들기:
- 이름
- 성
- 이메일
- 회사
- 부서
- 역할
- 회의 주제
- 작업 항목
- 발신자 이름

템플릿 시트 만들기
- 템플릿이라는 이름의 다른 시트를 만듭니다.
- 다음 열을 만듭니다.
- 템플릿 ID
- 템플릿 이름
- 제목
- 이메일 본문
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}}:직원의 이름에 대한 자리 표시자입니다.
- {{회사}}:회사 이름에 대한 자리 표시자입니다.
- {{Department}}:신입사원이 배정된 부서에 대한 자리 표시자입니다.
- {{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}}

3단계:VBA 코드 삽입
VBA 편집기를 열려면:
- 개발자로 이동 탭>> Visual Basic 선택 .
- 삽입 을 클릭하세요.>> 모듈을 선택합니다. .
- 다음 코드를 복사하여 붙여넣으세요.

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단계:이메일 생성기 실행
- 개발자에서 탭>> 매크로를 클릭하세요. .
- 이메일 생성을 선택합니다.>> 실행을 클릭하세요. .

- 메시지 상자>>템플릿 ID:를 입력하세요. 1 .
- 템플릿 1을 따르는 모든 메일을 보냅니다.

- 다시 실행 코드입니다.
- 메시지 상자>> 템플릿 ID:2를 입력하세요. .

템플릿 2를 따르는 모든 메일을 보냅니다.

- 생성된 이메일을 보내기 전에 검토하세요.
- 검토가 필요하지 않은 경우 .보내기를 사용하세요. .Display 대신 속성 모든 이메일을 보내려고 합니다.
맞춤 설정 팁
새 자리 표시자 필드 추가:
- 데이터 에 새 열을 추가합니다. 시트.
- 새 필드를 포함하도록 VBA 코드의 ReceildFields 함수를 업데이트하세요.
- {{FieldName}} 형식을 사용하여 이메일 템플릿에 새 자리 표시자를 추가합니다.
HTML 형식:
이메일 템플릿에 HTML 형식을 포함할 수 있습니다:
<p style="color: blue;">This text will be blue</p>
<strong>This text will be bold</strong> 결론
이 튜토리얼은 사전 정의된 템플릿과 VBA 자동화를 사용하여 Excel에서 동적 이메일 생성을 설정하는 데 도움이 됩니다. 비즈니스 커뮤니케이션, 고객 후속 조치 및 자동 알림에 이러한 템플릿을 사용할 수 있습니다. 이 이메일 생성기는 기초로 작동하며 특정 요구 사항에 따라 사용자 정의할 수 있습니다. 템플릿을 생성하고 데이터 시트와 VBA 코드의 자리 표시자를 업데이트하면 됩니다. 프로덕션 환경에서 사용하기 전에 철저히 테스트하는 것을 잊지 마세요.
솔루션이 포함된 무료 고급 Excel 연습을 받아보세요!