Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

고객이나 상사에게 이메일을 보낼 때 일일이 추적하고 관리하기란 생각보다 번거롭습니다. 이럴 때 엑셀이 매우 유용한 도구가 됩니다. 실제로 "엑셀에서 아웃룩으로 자동 이메일 보내기"는 업무 시간을 크게 절약할 수 있는 방법으로 입증되어 왔습니다. 엑셀 VBA 매크로HYPERLINK 함수를 활용하면 엑셀에 입력된 데이터를 기반으로 이메일을 자동 발송하거나 초안을 손쉽게 생성할 수 있습니다.

예를 들어, 엑셀에 직원 재조정 급여 데이터가 있고, 아웃룩(Outlook)을 통해 자동 이메일을 발송하고자 하는 상황을 가정해 보겠습니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

이 글에서는 VBA 매크로의 다양한 변형과 HYPERLINK 함수를 사용하여 엑셀에서 아웃룩으로 자동 이메일을 보내는 여러 가지 방법을 소개합니다.

엑셀 통합 문서 다운로드

⧭ Microsoft Visual Basic 열기 및 모듈에 코드 삽입하기

본격적으로 각 방법을 살펴보기 전에, 엑셀의 Microsoft Visual Basic 창을 열고 모듈(Module)을 삽입하는 방법을 먼저 알아두어야 합니다.

🔄 Microsoft Visual Basic 열기: Microsoft Visual Basic 창을 여는 방법은 주로 3가지입니다.

1. 키보드 단축키 사용: ALT+F11 키를 동시에 누르면 Microsoft Visual Basic 창이 열립니다.

2. 개발 도구 탭 사용: 엑셀 워크시트에서 개발 도구 탭 > Visual Basic을 선택하면 Microsoft Visual Basic 창이 나타납니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

3. 시트 탭 사용: 아무 워크시트나 마우스 오른쪽 버튼으로 클릭한 뒤, 컨텍스트 메뉴에서 코드 보기(View Code)를 선택하세요.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

🔄 Microsoft Visual Basic에 모듈 삽입하기: 모듈을 삽입하는 방법은 2가지입니다.

1. 시트 옵션 사용: Microsoft Visual Basic 창을 연 후, 프로젝트 창에서 워크시트를 선택하고 마우스 오른쪽 버튼을 클릭한 다음 컨텍스트 메뉴에서 삽입(Insert) > 모듈(Module)을 선택합니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

2. 도구 모음 사용: 상단 메뉴에서 삽입(Insert) > 모듈(Module)을 선택해도 동일하게 모듈을 추가할 수 있습니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

엑셀에서 아웃룩으로 자동 이메일을 보내는 4가지 쉬운 방법

방법 1: VBA 매크로로 선택한 수신자에게 자동 이메일 보내기

버튼 하나만 클릭하면 선택된 수신자들에게 바로 메일을 보낼 수 있도록 매크로 실행 버튼을 만들어 보겠습니다.

1단계: 삽입 탭 > 도형(Shapes) > 원하는 도형(예: 둥근 모서리 사각형)을 선택합니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

2단계: 아래 이미지처럼 도형을 삽입할 위치로 십자(+) 아이콘을 드래그합니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

3단계: 원하는 도형 채우기 색과 윤곽선 색을 지정한 후, 도형을 마우스 오른쪽 버튼으로 클릭하고 텍스트 편집(Edit Text)을 눌러 텍스트를 입력합니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

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

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

➤ 위 코드의 구성 요소는 다음과 같습니다.

1 – 변수를 ObjectString 형식으로 선언하며 매크로 절차를 시작합니다.

2 – 선택 범위의 각 행마다 VBA FOR 루프를 실행하여 행 데이터로 이메일의 수신자(Send To), 제목(Subject), 본문(Body)을 할당합니다.

3 – 변수를 할당합니다.

4VBA With 문을 사용해 수신자, 메일 제목 등 아웃룩 항목을 채웁니다. 여기서는 매크로가 Display 명령만 실행하여 이메일 초안이 담긴 아웃룩 화면을 불러옵니다. 만약 Display 대신 또는 그 뒤에 Send 명령을 사용하면, 아웃룩이 작성된 이메일을 선택한 수신자에게 즉시 발송합니다.

5VBA FOR 루프를 종료합니다.

5단계: 워크시트로 돌아가서 도형을 마우스 오른쪽 버튼으로 클릭하고, 컨텍스트 메뉴에서 매크로 지정(Assign Macro)을 선택합니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

6단계: 매크로 이름 목록에서 해당 매크로(예: ExcelToOutlookSR)를 선택하고, 매크로 저장 위치현재 통합 문서(This Workbook)로 지정한 뒤 확인을 누릅니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

7단계: 이제 워크시트에서 직원 한 명 또는 여러 명을 선택한 후 도형 버튼을 클릭합니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

8단계: 엑셀이 아웃룩을 실행시키고, 선택된 직원들에게 이메일을 작성하거나 발송합니다. 두 명의 직원을 선택했다면 아웃룩은 발송 준비가 된 서로 다른 이메일 초안 두 개를 생성합니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

이 매크로에는 Display 명령만 포함되어 있으므로, 아웃룩은 이메일을 발송하지 않고 초안만 표시합니다. 셀 데이터를 기반으로 엑셀에서 아웃룩으로 자동 발송하려면 Send 명령을 사용하세요.

추가 참고 자료: Excel Macro to Send Email Automatically (3 Suitable Examples)

방법 2: 특정 셀 값 조건에 따라 자동 이메일 보내기

엑셀에서 목표를 달성했을 때 자동으로 아웃룩을 통해 이메일을 보내려면 어떻게 해야 할까요? 매크로 코드 하나면 이 작업을 손쉽게 처리할 수 있습니다.

예를 들어, 아래와 같은 분기별 매출 데이터가 있고, 목표 달성(즉, 매출 > 2000) 시 엑셀이 자동으로 아웃룩을 호출하여 지정된 이메일 주소로 메일을 보내도록 설정한다고 가정해 보겠습니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

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 = "admin@wsxdn.com"
        .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

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

➤ 위 코드의 구성 요소는 다음과 같습니다.

1 – 특정 셀(예: F17)을 범위 내에 지정하여 VBA IF 문을 실행합니다. 조건이 참(True)이면 매크로가 다른 매크로를 호출하여 실행합니다.

2 – 변수 유형을 선언하고 아웃룩 항목을 채우는 데 사용합니다.

3VBA With 문으로 이메일 항목에 변수를 할당합니다. 검토 과정 없이 곧바로 발송하려면 Display 대신 Send 명령을 사용하세요. 수신자 이메일 주소는 매크로 안에 직접 입력되어 있으며, 수신자 주소를 자동으로 가져오려면 다른 방법을 활용해야 합니다.

4 – 할당된 일부 변수를 초기화합니다.

2단계: F5 키를 눌러 매크로를 실행합니다. 잠시 후 엑셀이 아웃룩을 불러오며 아래와 같이 자동 생성된 이메일 초안을 표시합니다. 보내기를 클릭하거나, 매크로에 Send 명령을 넣어 자동 발송하도록 설정할 수 있습니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

추가 참고 자료: Automatically Send Emails from Excel Based on Cell Content (2 Methods)

함께 읽으면 좋은 글

  • How to See Who Is in a Shared Excel File (With Quick Steps)
  • Enable Share Workbook in Excel
  • How to Share Excel File for Multiple Users
  • How to Apply Macro to Send Email from Excel with Attachment

방법 3: VBA 매크로로 활성 워크시트를 첨부하여 이메일 보내기

경우에 따라 현재 작업 중인 활성 시트(Active Sheet) 전체를 지정된 이메일 주소로 보내야 할 수 있습니다. 이럴 때는 매크로 내에서 호출할 수 있는 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 = "admin@wsxdn.com"
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

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

➤ 위 코드의 구성 요소는 다음과 같습니다.

1 – 변수를 선언하고 설정합니다.

2VBA With 문으로 명령을 할당합니다. 이메일을 검토하려면 Display, 즉시 발송하려면 Send 명령을 사용합니다.

3 – 이전에 설정한 변수들을 초기화합니다.

4 – 텍스트 내용과 함께 VBA With 명령을 할당합니다.

5VBA 사용자 정의 함수를 실행합니다.

2단계: F5 키를 눌러 매크로를 실행하면, 즉시 엑셀이 아래 이미지와 같이 검토용 이메일 초안이 담긴 아웃룩을 불러옵니다. 확인 후 발송하면 됩니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

추가 참고 자료: How to Send Bulk Email from Outlook Using Excel (3 Ways)

방법 4: HYPERLINK 함수로 자동 이메일 보내기

HYPERLINK 함수는 엑셀 셀에 클릭 가능한 링크를 생성하여, 클릭 시 아웃룩을 통해 자동으로 이메일을 보낼 수 있게 해줍니다.

1단계: H5 셀에 아래 수식을 입력합니다.

=HYPERLINK("MailTo:"&C5&"?Subject="&F5&"&cc="&$D$2&"&body="&G5,"Click Here")

HYPERLINK 함수"MailTo:"&C5&"?Subject="&F5&"&cc="&$D$2&"&body="&G5link_location(링크 위치) 인수로, "Click Here"friendly_name(표시 이름) 인수로 받습니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

2단계: ENTER 키를 눌러 링크를 삽입한 뒤, 해당 링크를 클릭합니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

3단계: 엑셀이 아웃룩으로 연결되며, 엑셀에서 지정한 데이터로 아웃룩 항목들이 모두 채워진 것을 확인할 수 있습니다. 보내기를 클릭하세요.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

4단계: 채우기 핸들(Fill Handle)을 드래그하여 나머지 셀에도 수식을 적용합니다.

엑셀에서 아웃룩(Outlook)으로 자동 이메일 보내는 방법 4가지

추가 참고 자료: How to Send Email Automatically When Condition Met in Excel

마무리

다양한 VBA 매크로 변형HYPERLINK 함수는 엑셀에서 아웃룩으로 자동 이메일을 보낼 때 매우 유용합니다. 위에서 소개한 방법 중 자신에게 가장 적합한 방법을 찾으셨기를 바랍니다. 추가 질문이 있거나 더 공유하고 싶은 내용이 있다면 댓글로 남겨주세요.

관련 아티클

  • Send Reminder Email Automatically from an Excel Worksheet Using VBA
  • How to Send an Editable Excel Spreadsheet by Email (3 Quick Methods)
  • Macro to Send Email from Excel with Body (3 Useful Cases)
  • How to Automatically Send Email from Excel Based on Date
  • How to Send Email from Excel with Body Using a Macro (with Easy Steps)