KutoolsforOffice— 하나의 솔루션, 다섯 가지 강력한 도구。적은 노력으로 더 큰 성과。

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

작성자Kelly수정 날짜

여러 폴더나 하위 폴더에서 이메일을 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: 새 모듈 삽입하기

「삽입(Insert)」 > 「모듈(Module)」을 클릭한 후 아래 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\Inbox\A「 및 」Kelly@extendoffice.com\Inbox\B".
    doc-export-subfolders-to-excel-1

단계 4: 코드 실행하기

“F5" 키를 누르거나 「실행(Run)」 버튼을 클릭하여 코드를 실행하세요。 그런 다음 나타나는 「Export Outlook Folders to Excel」 대화 상자에서 「확인(OK)」 버튼을 클릭하세요。 이제 지정된 모든 폴더/하위 폴더의 이메일이 Excel 통합 문서로 내보내졌습니다。
doc-export-subfolders-to-excel-3

단점:

  • 복잡한 설정: 신중한 코드 조정과 VBA 에 대한 기본 지식이 필요합니다。
  • 오류 발생 가능성 높음: 사용자 정의 과정에서 사소한 실수도 오류나 불완전한 내보내기를 초래할 수 있습니다。
  • 시간 소모적: 빠르거나 자주 수행하는 내보내기 작업에는 적합하지 않습니다。

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

반복적인 이메일 작업에 지치셨나요?Kutools for Outlook는 워크플로우를 간소화하고 소중한 시간을 절약해주는 「대량 처리」 도구를 제공합니다。

  • 🌟여러 이메일에 한 번에 회신하기:템플릿을 사용해 손쉽게 대량 회신을 보낼 수 있습니다。
  • 📧개별 전달하기:여러 이메일을 첨부 파일이 아닌 일반 메시지로 전달할 수 있습니다。
  • 📝다양한 형식으로 저장하기:이메일을 PDF, Word, Excel 등 다양한 형식으로 한 번에 내보낼 수 있습니다!
Kutools for Outlook 대량 처리 기능

오늘 바로 Kutools for Outlook 를 사용해 보세요


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

더 빠르고 번거롭지 않은 방법으로 「Kutools for Outlook」의 「선택한 이메일을 다양한 형식의 파일로 저장(Save Selected Emails as Files in Various Formats)」 기능을 활용할 수 있습니다. 이 방법은 간편함, 속도, 다재다능함 덕분에 강력히 추천됩니다. 소량의 이메일이든 대규모 데이터셋이든 Kutools 는 최소한의 노력으로 원활한 경험을 보장합니다。

아웃룩의 비효율성과 작별하세요! Kutools for Outlook 으로 대량 이메일 처리가 더 쉬워집니다. 지금 바로 30 일 무료 체험을 시작해 보세요!Kutools for Outlook 다운로드하기!!

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

내보낼 이메일이 포함된 폴더 또는 하위 폴더로 이동하세요。 목록의 모든 이메일을 선택하려면Ctrl+A키를 누르세요。

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

「Kutools」 > 「대량 처리」 > 「Save Selected Emails as Files in Various Formats」를 클릭하세요。

doc-export-subfolders-to-excel-4

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

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

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

「확인(OK)」을 클릭하여 내보내기 프로세스를 시작하세요。 완료되면 지정된 폴더에 모든 이메일이 개별 Excel 파일로 저장되어 있습니다。

doc-export-subfolders-to-excel-6

장점:

  • 빠르고 직관적: 기술적 지식 없이도 몇 번의 클릭만으로 이메일을 Excel 로 내보낼 수 있습니다。
  • 사용자 정의 가능한 출력 결과: 필요에 따라 특정 파일 유형 및 내용을 선택할 수 있습니다。
  • 오류 없는 프로세스: VBA 방식에서 발생할 수 있는 복잡성과 잠재적 오류를 피할 수 있습니다。
  • 전문적인 결과물: 체계적인 기록 생성이나 효율적인 데이터 공유에 이상적입니다。
참고: Kutools for Outlook 의 「Save Selected Emails as Files in Various Formats」 유틸리티를 사용하려면 먼저Kutools for Outlook을 다운로드하여 설치해야 합니다。

최고의 Office 생산성 도구

Kutools for Outlook 의 완전히 새로운 버전을 100+가지 놀라운 기능과 함께 경험해 보세요!지금 다운로드하세요!

🤖KUTOOLS AI:고급 AI 기술을 활용하여 이메일 회신, 요약, 최적화, 확장, 번역, 작성 등 이메일 관련 작업을 손쉽게 처리합니다。

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

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

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

🌟인터페이스 마법:😊더 예쁘고 멋진 이모지 제공/중요 이메일 수신 시 알림/Outlook 종료 대신 최소화...

👍한 번의 클릭으로 해결:모두 회신(첨부 파일 포함)/피싱 이메일 방지/🕘발신자의 현재 시간 시간대 표시...

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

Kutools 를 선호하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및 40+개의 다른 언어를 지원합니다!

한 번의 클릭으로 즉시 Kutools for Outlook 의 잠금을 해제하세요。 더 이상 기다리지 마시고 지금 다운로드하여 업무 효율을 높이세요!

kutools for outlook features1kutools for outlook features2

🚀 한 번의 클릭으로 다운로드 — 모든 Office 애드인 받기

강력히 권장: Kutools for Office (5-in-1)

한 번의 클릭으로다섯 개의 설치 프로그램을동시에 다운로드하세요 —Kutools for Excel, Outlook, Word, PowerPointOffice Tab Pro.지금 다운로드하세요!

  • 한 번의 클릭으로 편리하게: 다섯 개의 설치 패키지를 한 번에 다운로드하세요。
  • 🚀모든 Office 작업에 대비 완료: 필요한 시점에 필요한 애드인을 설치하세요。
  • 🧰포함됨: Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint