Skip to main content

Outlook에서 여러 폴더/하위 폴더의 이메일을 Excel로 내보내는 방법은 무엇입니까?

Author: Kelly Last Modified: 2025-08-06

여러 폴더 또는 하위 폴더에서 이메일을 Excel로 내보내는 작업은 수동 방법이나 제한된 Outlook 기능에 의존할 경우 지루한 작업이 될 수 있습니다. 다행히도 이를 더 효율적으로 처리할 수 있는 방법들이 있습니다. 이 문서에서는 두 가지 방법을 살펴보겠습니다: VBA 기반 접근법과 Kutools for Outlook을 사용한 빠르고 사용자 친화적인 솔루션입니다. VBA 방법은 유연성을 제공하지만 복잡한 설정과 조정이 필요합니다. 반면, Kutools for Outlook은 몇 번의 클릭만으로 이메일을 Excel로 간단하고 강력하게 내보낼 수 있어 시간과 노력을 절약해 줍니다. 자세히 알아보겠습니다.

VBA를 사용하여 여러 폴더/하위 폴더에서 이메일을 Excel로 내보내기 (복잡하지만 유연함)

Kutools for Outlook을 사용하여 폴더/하위 폴더에서 이메일을 Excel로 내보내기 👍 (효율적이고 사용자 친화적)


VBA를 사용하여 여러 폴더/하위 폴더에서 이메일을 Excel로 내보내기

코딩에 익숙하고 맞춤형 솔루션이 필요한 경우, VBA를 사용하는 것이 효과적입니다. 이 방법을 사용하면 여러 폴더나 하위 폴더를 지정하고 해당 이메일을 개별 Excel 파일로 내보낼 수 있습니다. 하지만 이 방법은 기술적인 지식과 코드의 신중한 커스터마이징이 필요합니다.

1단계: VBA 편집기 열기

Alt + F11을 눌러 "Microsoft Visual Basic for Applications" 창을 실행합니다.

2단계: 새 모듈 삽입하기

"삽입" > "모듈"을 클릭한 다음 아래 VBA 코드를 새 모듈 창에 붙여넣습니다.

VBA: 여러 폴더 및 하위 폴더에서 이메일을 Excel로 내보내기

Const MACRO_NAME = "Export Outlook Folders to Excel"
Sub ExportMain()
ExportToExcel "destination_folder_path\A.xlsx", "your_email_account\folder\subfolder_1"
ExportToExcel "destination_folder_path\B.xlsx", "your_email_account\folder\subfolder_2"
MsgBox "Process complete.", vbInformation + vbOKOnly, MACRO_NAME
End Sub

Sub ExportToExcel(strFilename As String, strFolderPath As String)
Dim olkMsg As Object
Dim olkFld As Object
Dim excApp As Object
Dim excWkb As Object
Dim excWks As Object
Dim intRow As Integer
Dim intVersion As Integer

If strFilename <> "" Then
If strFolderPath <> "" Then
Set olkFld = OpenOutlookFolder(strFolderPath)
If TypeName(olkFld) <> "Nothing" Then
intVersion = GetOutlookVersion()
Set excApp = CreateObject("Excel.Application")
Set excWkb = excApp.Workbooks.Add()
Set excWks = excWkb.ActiveSheet
With excWks
.Cells(1, 1) = "Subject"
.Cells(1, 2) = "Received"
.Cells(1, 3) = "Sender"
End With
intRow = 2
For Each olkMsg In olkFld.Items
If olkMsg.Class = olMail Then
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)
intRow = intRow + 1
End If
Next
Set olkMsg = Nothing
excWkb.SaveAs strFilename
excWkb.Close
Else
MsgBox "The folder '" & strFolderPath & "' does not exist in Outlook.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The folder path was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The filename was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If

Set olkMsg = Nothing
Set olkFld = Nothing
Set excWks = Nothing
Set excWkb = Nothing
Set excApp = Nothing
End Sub

Public Function OpenOutlookFolder(strFolderPath As String) As Outlook.MAPIFolder
Dim arrFolders As Variant
Dim varFolder As Variant
Dim bolBeyondRoot As Boolean

On Error Resume Next
If strFolderPath = "" Then
Set OpenOutlookFolder = Nothing
Else
Do While Left(strFolderPath, 1) = "\"
strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
Loop
arrFolders = Split(strFolderPath, "\")
For Each varFolder In arrFolders
Select Case bolBeyondRoot
Case False
Set OpenOutlookFolder = Outlook.Session.Folders(varFolder)
bolBeyondRoot = True
Case True
Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
End Select
If Err.Number <> 0 Then
Set OpenOutlookFolder = Nothing
Exit For
End If
Next
End If
On Error GoTo 0
End Function

Function GetSMTPAddress(Item As Outlook.MailItem, intOutlookVersion As Integer) As String
Dim olkSnd As Outlook.AddressEntry
Dim olkEnt As Object

On Error Resume Next
Select Case intOutlookVersion
Case Is < 14
If Item.SenderEmailType = "EX" Then
GetSMTPAddress = SMTPEX(Item)
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
Case Else
Set olkSnd = Item.Sender
If olkSnd.AddressEntryUserType = olExchangeUserAddressEntry Then
Set olkEnt = olkSnd.GetExchangeUser
GetSMTPAddress = olkEnt.PrimarySmtpAddress
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
End Select
On Error GoTo 0
Set olkSnd = Nothing
Set olkEnt = Nothing
End Function

Function GetOutlookVersion() As Integer
Dim arrVer As Variant
arrVer = Split(Outlook.Version, ".")
GetOutlookVersion = arrVer(0)
End Function

Function SMTPEX(olkMsg As Outlook.MailItem) As String
Dim olkPA As Outlook.propertyAccessor
On Error Resume Next
Set olkPA = olkMsg.propertyAccessor
SMTPEX = olkPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")
On Error GoTo 0
Set olkPA = Nothing
End Function

3단계: VBA 코드 커스터마이징하기

  1. 위 코드에서 "destination_folder_path"를 실제 폴더 경로(예: "C:\Users\DT168\Documents\TEST")로 변경합니다.
  2. 다음을 대체하세요:your_email_account\folder\subfolder_1" 와 "your_email_account\folder\subfolder_2"를 Outlook 폴더 경로(예: "Kelly@extendoffice.com\받은 편지함\A" 와 "Kelly@extendoffice.com\받은 편지함\B".
    doc-export-subfolders-to-excel-1

4단계: 코드 실행하기

"F5"를 누르거나 "실행" 버튼을 클릭하여 코드를 실행합니다. 그런 다음 "Outlook 폴더를 Excel로 내보내기" 팝업 대화 상자에서 "확인" 버튼을 클릭합니다. 이제 지정된 모든 폴더/하위 폴더의 이메일이 Excel 워크북으로 내보내집니다.
doc-export-subfolders-to-excel-3

단점:

  • 복잡한 설정: 세심한 코드 조정과 VBA에 대한 기본 지식이 필요합니다.
  • 오류 발생 가능성: 커스터마이징 중 작은 실수로 인해 오류가 발생하거나 내보내기가 불완전해질 수 있습니다.
  • 시간 소모적: 빠르거나 자주 내보내기에 적합하지 않습니다.

대량 처리로 이메일 관리를 혁신하세요!

반복적인 이메일 작업에 지치셨나요? Kutools for Outlook은 "대량 처리" 도구를 제공하여 작업 흐름을 간소화하고 소중한 시간을 절약할 수 있도록 도와줍니다.

  • 🌟 여러 이메일에 일괄 회신: 템플릿을 사용하여 부담 없이 대량 회신을 보내세요.
  • 📧 개별 전달: 여러 이메일을 첨부 파일이 아닌 일반 메시지로 전달하세요.
  • 📝 다양한 형식으로 저장: PDF, Word, Excel 등 다양한 형식으로 이메일을 한 번에 내보내세요!
Kutools for Outlook Bulk Processing Feature

지금 Kutools for Outlook을 사용해 보세요


Kutools for Outlook을 사용하여 폴더/하위 폴더에서 이메일을 Excel로 내보내기 👍

보다 빠르고 번거로움 없는 접근 방식을 원한다면, "Kutools for Outlook"은 "선택한 이메일을 다양한 형식으로 파일로 저장" 기능을 제공합니다. 이 방법은 단순성, 속도 및 다용성 때문에 매우 추천됩니다. 소규모 이메일 배치를 관리하든 대규모 데이터 세트를 처리하든, Kutools는 최소한의 노력으로 원활한 경험을 보장합니다.

Kutools for Outlook으로 궁극의 이메일 효율성을 경험하세요! 강력한 기능 70개를 영원히 무료로 이용할 수 있습니다. 지금 무료 버전을 다운로드하세요!

1단계: 폴더 또는 하위 폴더 선택하기

내보내려는 이메일이 포함된 폴더 또는 하위 폴더로 이동합니다. Ctrl + A를 눌러 목록의 모든 이메일을 선택합니다.

2단계: 선택한 이메일을 다양한 형식으로 파일로 저장 기능에 접근하기

"Kutools" > "대량 처리" > "선택한 이메일을 다양한 형식으로 파일로 저장"을 클릭합니다.

doc-export-subfolders-to-excel-4

3단계: 내보내기 설정 구성하기

  1. "이메일을 다른 파일로 저장" 대화 상자에서 파일을 저장할 대상 폴더를 선택합니다.
  2. "Excel 형식" 옵션을 선택합니다.
  3. "저장 내용" 섹션에서 내보낼 특정 이메일 본문(예: 헤더, 본문)을 선택합니다.
    doc-export-subfolders-to-excel-5

4단계: 내보내기 완료하기

"확인"을 클릭하여 내보내기 프로세스를 시작합니다. 완료되면 지정된 폴더에서 모든 이메일이 개별 Excel 파일로 저장된 것을 확인할 수 있습니다.

doc-export-subfolders-to-excel-6

장점:

  • 빠르고 직관적: 몇 번의 클릭만으로 이메일을 Excel로 내보낼 수 있으며 기술적인 지식이 필요 없습니다.
  • 사용자 정의 가능한 출력: 필요에 따라 특정 파일 형식과 내용을 선택할 수 있습니다.
  • 오류 없는 프로세스: VBA 방법과 관련된 복잡성과 잠재적인 오류를 피할 수 있습니다.
  • 전문적인 결과: 조직화된 기록을 만들거나 데이터를 효율적으로 공유하기에 완벽합니다.
참고: Kutools for Outlook의 "선택한 이메일을 다양한 형식으로 파일로 저장" 유틸리티를 사용하려면 먼저 Kutools for Outlook을 다운로드하고 설치해야 합니다.

최고의 오피스 생산성 도구

속보: Kutools for Outlook 무료 버전 출시!

100개 이상의 놀라운 기능을 갖춘 완전히 새로워진 Kutools for Outlook을 경험해 보세요! 지금 다운로드하세요!

🤖 Kutools AI : 첨단 AI 기술을 활용하여 이메일 회신, 요약, 최적화, 확장, 번역, 작성까지 어떤 작업도 손쉽게 처리합니다.

📧 이메일 자동화: 자동 응답(POP 및 IMAP 지원) / 이메일 예약 발송 / 메일 발송 시 규칙에 따라 자동 참조/숨은 참조 / 고급 규칙 기반 자동 전달 / 자동 인사말 추가 / 여러 수신자 이메일을 개별 이메일로 자동 분할 ...

📨 이메일 관리: 이메일 회수 / 제목 등으로 스팸 이메일 차단 / 중복된 이메일 삭제 / 고급 검색 / 폴더 정리 ...

📁 첨부 파일 Pro: 일괄 저장 / 일괄 분리 / 일괄 압축 / 자동 저장 / 자동 분리 / 자동 압축 ...

🌟 인터페이스 매직: 😊더 예쁘고 멋진 이모지 / 중요한 이메일 도착 시 알림 / 종료 대신 Outlook 최소화 ...

👍 원클릭 편의 기능: 모두 회신(첨부 파일 포함) / 피싱 방지 이메일 / 🕘보낸 사람의 시간대 표시 ...

👩🏼‍🤝‍👩🏻 연락처 & 캘린더: 선택한 이메일에서 연락처 일괄 추가 / 연락처 그룹을 개별 그룹으로 분리 / 생일 알림 제거 ...

원하는 언어로 Kutools를 사용할 수 있습니다 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40개 이상의 언어 지원!

한 번의 클릭으로 Kutools for Outlook을 즉시 활성화하세요. 기다리지 말고, 지금 다운로드하여 효율성을 높이세요!

kutools for outlook features1 kutools for outlook features2