KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как экспортировать письма из нескольких папок или подпапок в Excel в Outlook?

АвторКеллиДата изменения

Экспорт писем из нескольких папок или подпапок в Excel может стать настоящей головной болью, если полагаться на ручные методы или стандартные функции Outlook. К счастью, существуют гораздо более эффективные решения. В этой статье мы рассмотрим два подхода: метод на основе VBA и быстрое, удобное решение с помощью Kutools для Outlook. Хотя VBA-подход предлагает гибкость, он требует сложной настройки и технических доработок. Kutools для Outlook, напротив, обеспечивает простой и мощный способ экспорта писем в Excel всего за несколько кликов — экономя ваше время и избавляя от лишних усилий. Давайте подробнее разберём оба варианта.

Экспорт писем из нескольких папок или подпапок в Excel с помощью VBA(Сложно, но гибко)

Экспорт писем из папки или подпапки в Excel с помощью Kutools для Outlook 👍(Эффективно и удобно)


Экспорт писем из нескольких папок или подпапок в Excel с помощью VBA

Если вы уверенно владеете программированием и ищете гибкое решение, метод 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 для Outlook предлагает инструменты «Массовая обработка», которые оптимизируют ваш рабочий процесс и сэкономят драгоценное время.

  • 🌟Ответ на несколько писем: Отправляйте массовые ответы с помощью шаблонов легко и без усилий.
  • 📧Пересылка по отдельности: Отправляйте несколько писем как обычные сообщения, а не во вложениях.
  • 📝Сохранение в различных форматах: Экспортируйте письма в PDF, Word, Excel и другие форматы — всё за один клик!
Kutools for Outlook Функция пакетной обработки

Попробуйте Kutools для Outlook уже сегодня


Экспорт писем из папки или подпапки в Excel с помощью Kutools для Outlook 👍

Для быстрого и простого решения воспользуйтесь функцией «Kutools для Outlook» — «Сохранить выделенные письма как файлы в различных форматах». Этот метод настоятельно рекомендуется за счёт своей простоты, скорости и универсальности. Независимо от того, работаете ли вы с небольшой группой писем или с большими объёмами данных, Kutools обеспечивает бесперебойную работу с минимальными усилиями.

Прощай, неэффективная работа в Outlook! Kutools для Outlook упрощает пакетную обработку писем — попробуйте прямо сейчас с 30-дневной бесплатной пробной версией!Скачать Kutools для Outlook сейчас!!

Шаг 1: Выберите папку или подпапку

Перейдите в папку или подпапку, содержащую письма, которые нужно экспортировать. Нажмите Ctrl+A, чтобы выделить все письма в списке.

Шаг 2: Откройте функцию «Save Selected Emails as Files in Various Formats»

Выберите «Kutools» > «Массовая обработка» > «Сохранить выделенные письма как файлы в различных форматах».

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.
  • Профессиональный результат: Идеально подходит для создания структурированных записей и эффективного обмена данными.
Примечание: Чтобы использовать функцию «Save Selected Emails as Files in Various Formats» из Kutools для Outlook, сначала необходимо скачать и установить Kutools для Outlook.

Лучшие инструменты для повышения продуктивности в Office

Оцените совершенно новый Kutools для Outlook с 100+ потрясающими функциями!Нажмите, чтобы скачать прямо сейчас!

🤖KUTOOLS AI:Использует передовые технологии ИИ для удобной работы с электронной почтой: ответы, составление резюме, оптимизация, расширение, перевод и создание писем.

📧Автоматизация работы с электронной почтой: Автоответ (доступен для POP и IMAP) / Планирование отправки писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения

📨Управление электронной почтой: Отозвать письмо / Блокировка спама по теме и другим признакам / Удаление дубликатов писем / Расширенный поиск / Организация папок

📁Продвинутая работа с вложениями: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие

🌟Волшебство интерфейса: 😊Еще больше красивых и стильных эмодзи / Напоминание о важных входящих письмах / Сворачивание Outlook вместо закрытия

👍Чудеса одним щелчком: Ответить всем с вложениями / Защита от фишинговых писем / 🕘Отображение часового пояса: текущее время отправителя

👩🏼‍🤝‍👩🏻Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделение группы контактов на отдельные группы / Удаление напоминания о дне рождения

Используйте Kutools на вашем любимом языке — поддержка английского, испанского, немецкого, французского, китайского и более чем 40 других языков!

Мгновенно получите доступ к Kutools для Outlook одним щелчком! Не теряйте время — скачайте прямо сейчас и повысьте свою эффективность!

kutools for outlook features1kutools for outlook features2

🚀 Скачать одним щелчком — Получите все надстройки для Office

Настоятельно рекомендуется: Kutools for Office (5 в 1)

Скачайте одним щелчком пять установщиковсразу —Kutools для Excel, Outlook, Word, PowerPointи Office Tab Pro.Нажмите, чтобы скачать прямо сейчас!

  • Удобство одним щелчком: Скачайте все пять установочных пакетов за одно действие.
  • 🚀Готовы к любой задаче в Office: устанавливайте нужные надстройки именно тогда, когда они вам понадобятся.
  • 🧰Входит в комплект: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools for PowerPoint