Skip to main content

Kutools for Office — 하나의 패키지. 다섯 가지 도구. 더 많은 일을 처리하세요.

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

Author Kelly Last modified

여러 폴더 또는 하위 폴더에서 이메일을 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는 최소한의 노력으로 원활한 경험을 제공합니다.

Outlook의 비효율성에 작별을 고하세요! Kutools for Outlook로 대량 이메일 처리가 더욱 쉬워졌습니다 - 이제 무료 AI 기능도 함께 제공됩니다! Kutools for Outlook을 지금 다운로드하세요!!

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 무료 버전 출시!

새롭게 달라진 Kutools for Outlook에서100가지 이상의 놀라운 기능을 경험해보세요! 지금 다운로드하세요!

🤖 Kutools AI : 첨단 AI 기술을 활용해 이메일을 손쉽게 처리합니다. 회신, 요약, 최적화, 확장, 번역, 작성까지 모두 지원합니다.

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

📨 이메일 관리: 이메일 회수 / 제목 및 기타 기준으로 의심스러운 이메일 차단 / 중복 이메일 삭제 / 고급 검색 / 폴더 정리 ...

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

🌟 인터페이스 매직: 😊더 예쁘고 다양한 이모지 / 중요한 이메일이 오면 알림 / Outlook 종료 대신 최소화 ...

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

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

원하는 언어로 Kutools를 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및40가지 이상을 지원합니다!

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

kutools for outlook features1 kutools 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