Как перенести письма из Outlook в Excel: полное руководство с примерами

Электронная почта в Microsoft Outlook — это не просто переписка, а ценная база данных: контакты клиентов, история сделок, важные согласования. Но когда нужно проанализировать письма, построить отчёты или архивировать данные, удобнее работать в Excel. Проблема в том, что прямого экспорта из Outlook в Excel нет — приходится использовать обходные пути.

Многие пользователи теряют часы на ручное копирование писем или сталкиваются с ошибками при автоматической выгрузке. В этой статье мы разберём 5 рабочих методов — от простейшего копирования через буфер обмена до продвинутых скриптов на VBA. Вы узнаете, как сохранить тему письма, дату, отправителя, текст и даже вложения в структурированном виде. А ещё — как избежать типичных ошибок при работе с большими объёмами данных.

Если вам нужно экспортировать менее 50 писем, подойдёт ручной метод. Для сотен или тысяч писем потребуются макросы или сторонние утилиты. Мы детально опишем каждый способ, чтобы вы могли выбрать оптимальный вариант под свои задачи.

📊 Для чего вам нужно экспортировать письма из Outlook в Excel?
Анализ переписки
Архивация данных
Отчётность для руководства
Перенос в CRM
Другое

1. Ручной экспорт через копирование (для небольших объёмов)

Самый простой, но трудоёмкий способ — копирование данных вручную. Он подходит, если нужно экспортировать до 50 писем и вам не требуется сохранять вложения или сложное форматирование.

Откройте папку с письмами в Outlook (например, Входящие или Отправленные). Выделите нужные письма, удерживая клавишу Ctrl. Затем:

  • 📋 Нажмите правой кнопкой мыши на выделенные письма и выберите Копировать (или Ctrl+C).
  • 📊 Откройте Excel и вставьте данные (Ctrl+V) в нужную ячейку.
  • 🔄 Excel автоматически распределит данные по столбцам: отправитель, тема, дата, текст письма.

⚠️ Внимание: При вставке больших писем Excel может обрезать текст до 32 767 символов (ограничение ячейки). Если письмо длиннее, используйте метод с экспортом в .csv (раздел 3).

Также учтите, что вложения не копируются — их придётся сохранять отдельно через контекстное меню письма (Сохранить вложения).

2. Экспорт в CSV через Outlook (сохранение структуры)

Формат .csv позволяет сохранить всю структуру писем без потери данных. Этот метод подходит для экспорта до 1000 писем и поддерживает фильтрацию по дате или отправителю.

Инструкция:

  1. В Outlook перейдите в папку с письмами (например, Входящие).
  2. Нажмите Файл → Открыть и экспортировать → Импорт/экспорт.
  3. Выберите Экспорт в файл → Значения, разделённые запятыми (.csv).
  4. Укажите папку для сохранения и нажмите Далее.
  5. Выделите нужные письма (или всю папку) и завершите экспорт.

Откройте полученный файл в Excel. Данные будут разбиты по столбцам:

Столбец в CSV Что содержит Пример данных
From Адрес отправителя ivanov@company.ru
Subject Тема письма Договор №123 от 01.05.2026
Received Дата и время получения 01.05.2026 14:30
Body Текст письма (может содержать HTML-теги) <div>Добрый день,</div>

⚠️ Внимание: Если в письмах есть специальные символы (например, кавычки или запятые), Excel может неправильно разделить данные. В этом случае откройте CSV в Блокноте, замените разделитель на ; и сохраните файл заново.

Выбрать папку с письмами в Outlook|Проверить фильтры (даты, отправители)|Указать путь для сохранения CSV|Проверка кодировки (UTF-8 для кириллицы)|Открытие файла в Excel через "Импорт данных"-->

3. Автоматизация через VBA (для продвинутых пользователей)

Если вам нужно экспортировать тысячи писем или делать это регулярно, ручные методы не подойдут. Здесь поможет макрос на VBA (Visual Basic for Applications), который интегрирован в Outlook и Excel.

Пример скрипта для экспорта тем писем, отправителей и дат в Excel:

Sub ExportOutlookToExcel()

Dim olApp As Outlook.Application

Dim olNs As Outlook.Namespace

Dim olFolder As Outlook.MAPIFolder

Dim olItem As Object

Dim excelApp As Object

Dim excelWorkbook As Object

Dim excelWorksheet As Object

Dim i As Integer

' Создаём экземпляр Excel

Set excelApp = CreateObject("Excel.Application")

Set excelWorkbook = excelApp.Workbooks.Add

Set excelWorksheet = excelWorkbook.Sheets(1)

' Заголовки столбцов

excelWorksheet.Cells(1, 1).Value = "Отправитель"

excelWorksheet.Cells(1, 2).Value = "Тема"

excelWorksheet.Cells(1, 3).Value = "Дата"

' Подключаемся к Outlook

Set olApp = Outlook.Application

Set olNs = olApp.GetNamespace("MAPI")

Set olFolder = olNs.GetDefaultFolder(olFolderInbox) ' Папка "Входящие"

i = 2

' Перебираем письма

For Each olItem In olFolder.Items

If TypeName(olItem) = "MailItem" Then

excelWorksheet.Cells(i, 1).Value = olItem.SenderEmailAddress

excelWorksheet.Cells(i, 2).Value = olItem.Subject

excelWorksheet.Cells(i, 3).Value = olItem.ReceivedTime

i = i + 1

End If

Next olItem

' Сохраняем и закрываем

excelWorkbook.SaveAs "C:\OutlookExport.xlsx"

excelApp.Quit

Set excelApp = Nothing

End Sub

Чтобы запустить скрипт:

  1. В Outlook нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Нажмите F5 для выполнения.

Критичный нюанс: если в папке более 10 000 писем, скрипт может "зависнуть". Разбейте экспорт на части по датам или используйте фильтры в Outlook перед запуском макроса.

Как экспортировать вложения через VBA?

Чтобы сохранить вложения, добавьте в скрипт следующий блок (после строки с темой письма):

    ' Сохранение вложений

Dim attachment As Outlook.Attachment

Dim saveFolder As String

saveFolder = "C:\OutlookAttachments\"

For Each attachment In olItem.Attachments

attachment.SaveAsFile saveFolder & attachment.FileName

Next attachment

Важно: Предварительно создайте папку C:\OutlookAttachments\ вручную!

4. Использование Power Query (для сложных трансформаций)

Power Query — это инструмент в Excel, который позволяет импортировать данные из внешних источников, включая Outlook. Его преимущество — гибкая настройка фильтров и преобразований без программирования.

Пошаговая инструкция:

  1. В Excel перейдите на вкладку Данные и выберите Получить данные → Из других источников → Из Microsoft Exchange.
  2. Введите адрес своей почты и авторизуйтесь (потребуется доступ к Exchange Server или Office 365).
  3. Выберите папку (например, Входящие) и нажмите Преобразовать данные.
  4. В редакторе Power Query оставьте только нужные столбцы (например, Отправитель, Тема, Дата).
  5. Нажмите Закрыть и загрузить — данные появятся в Excel.

⚠️ Внимание: Этот метод работает только для корпоративных аккаунтов на Exchange Server или Office 365. Для личных ящиков (например, @gmail.com или @mail.ru) через IMAP используйте специализированные надстройки (раздел 5).

Преимущество Power Query — возможность автоматически обновлять данные при изменении писем в Outlook. Для этого нажмите Данные → Обновить все.

5. Сторонние утилиты (для массового экспорта)

Если встроенные методы не подходят (например, нужно экспортировать вложения или работать с нестандартными полями), используйте специализированные программы. Вот проверенные решения:

  • 🔧 Outlook Export Wizard — экспорт писем, контактов и календарей в Excel, CSV, PDF. Поддерживает фильтры по датам и ключевым словам. Стоимость: ~$30.
  • 📤 AbleBits Outlook Export — надстройка для Outlook, сохраняет структуру папок и вложения. Есть бесплатная версия с ограничением на 50 писем.
  • 🔄 SysTools Outlook PST Converter — конвертация .pst-файлов в Excel с поддержкой кириллицы и больших объёмов (до 50 000 писем).

При выборе утилиты обращайте внимание на:

  • 🔹 Поддержку вашей версии Outlook (2016, 2019, 365).
  • 🔹 Возможность экспорта вложений (не все программы это умеют).
  • 🔹 Сохранение форматирования текста (HTML или plain text).

⚠️ Внимание: Бесплатные утилиты часто ограничивают функционал или добавляют водяные знаки в экспортируемые данные. Перед покупкой проверьте, поддерживает ли программа русскоязычные темы писем — некоторые инструменты корректно работают только с латиницей.

6. Ошибки при экспорте и как их исправить

Даже при правильном выполнении инструкций могут возникать проблемы. Рассмотрим типичные ошибки и их решения:

Ошибка Причина Решение
Данные в Excel "слиплись" в одну ячейку Неправильный разделитель в CSV Открыть CSV в Блокноте и заменить запятые на ;
Кириллица отображается как "кракозябры" Неверная кодировка при сохранении При экспорте в CSV выберите кодировку UTF-8
Макрос VBA не запускается Отключены макросы в Outlook Перейдите в Файл → Параметры → Центр управления безопасностью → Параметры центра → Включить все макросы
Power Query не находит папку Outlook Нет подключения к Exchange Server Используйте метод с CSV или сторонние утилиты

Если при экспорте пропали вложения, проверьте:

  • 📎 Настройки макроса (в коде VBA должен быть блок для сохранения вложений).
  • 📁 Права доступа к папке, куда сохраняются файлы.
  • 🔍 Фильтры в Outlook — возможно, письма с вложениями не попали в выборку.

Ещё одна частая проблема — ограничение на количество символов в ячейке Excel (32 767). Если текст письма длиннее, разбейте его на несколько ячеек с помощью функции =ЛЕВСИМВ() и =ПРАВСИМВ().

Сравнение методов: какой выбрать?

Выбор способа экспорта зависит от объёма данных, требуемого формата и технических навыков. Вот краткое сравнение:

Метод Макс. количество писем Сохранение вложений Сложность Когда использовать
Ручное копирование До 50 ❌ Нет Разовые задачи, маленькие объёмы
Экспорт в CSV До 1000 ❌ Нет ⭐⭐ Средние объёмы, нужна структура
VBA-макрос 10 000+ ✅ Да (с доработкой кода) ⭐⭐⭐ Регулярный экспорт, большие объёмы
Power Query Неограничено* ❌ Нет ⭐⭐ Корпоративные ящики на Exchange
Сторонние утилиты 50 000+ ✅ Да ⭐⭐ (с настройкой) Сложные задачи, вложения, автоматика

* Зависит от ограничений сервера Exchange.

Для одноразового экспорта небольшого количества писем хватит ручного метода или CSV. Если нужно автоматизировать процесс (например, еженедельный отчёт), освойте VBA или купите специализированную утилиту.

FAQ: Частые вопросы по экспорту писем

Можно ли экспортировать письма из Outlook в Excel на Mac?

Да, но с ограничениями. На macOS нет встроенной поддержки VBA в Outlook, поэтому:

  • Используйте экспорт в CSV (аналогично Windows).
  • Для автоматизации подойдут Apple Script или сторонние утилиты (например, Outlook Export for Mac).

⚠️ Вложения через Apple Script сохраняются с ошибками кодировки — проверяйте имена файлов после экспорта.

Как экспортировать только письма от конкретного отправителя?

Возможны два варианта:

  1. Фильтрация в Outlook:
    • Создайте пользовательский поиск по адресу отправителя (например, from:ivanov@company.ru).
    • Экспортируйте только найденные письма.
  • Фильтрация в Excel:
    • Экспортируйте все письма в Excel.
    • Используйте фильтр или функцию ФИЛЬТР() для выборки нужных строк.
  • Почему в экспортированных данных вместо кириллицы отображаются знаки "???"?

    Это проблема с кодировкой. Решения:

    • При экспорте в CSV выберите кодировку UTF-8.
    • Откройте файл в Блокноте, сохраните как ANSI с кодировкой Windows-1251.
    • В Excel при импорте CSV укажите кодировку 1251 (вкладка Данные → Из текста/CSV).

    Если проблема остаётся, попробуйте конвертер кодировок (например, Notepad++).

    Можно ли экспортировать письма вместе с историей изменений (например, пересылками)?

    Да, но это требует доработки:

    • В CSV история пересылок сохраняется в поле Body как часть текста письма (ищите строки вида -----Original Message-----).
    • В VBA можно добавить обработку свойства olItem.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x1035001E") (ID цепочки писем).
    • Сторонние утилиты (например, AbleBits) поддерживают экспорт цепочек как отдельных записей.

    Для визуализации цепочек в Excel используйте условное форматирование по столбцу с Subject (выделяйте цветом письма с одинаковой темой).

    Как автоматизировать экспорт писем по расписанию?

    Для регулярного экспорта настройте:

    1. Правило в Outlook:
      • Создайте правило (Файл → Управление правилами), которое перемещает письма от определённых отправителей в отдельную папку.
      • Запускайте макрос VBA по расписанию через Планировщик задач Windows.
  • Power Automate (для Office 365):
    • Создайте поток, который раз в день экспортирует новые письма в Excel Online.
    • Используйте триггер Когда приходит новое письмо.

    ⚠️ Для VBA-автоматизации убедитесь, что Outlook запущен в фоновом режиме (иначе макрос не сработает).