Как сохранить лист в формате PDF и отправить его по электронной почте как вложение через Outlook?
В повседневной работе вы часто сталкиваетесь с необходимостью поделиться конкретным листом с коллегами или клиентами, при этом важно зафиксировать и защитить тип файла. Отправка листа в виде PDF через Outlook — распространённое требование, особенно при оформлении отчётов, отправке счётов или передаче окончательных данных, которые не должны быть легко изменены. Традиционно это требует ручного сохранения листа в формате PDF, открытия Outlook, создания письма, добавления вложения и отправки — процесс утомительный и трудоёмкий, особенно при частом повторении или работе с несколькими листами.
Эта статья пошагово рассказывает, как автоматизировать преобразование листа Excel в PDF и мгновенно прикрепить его к письму Outlook — прямо из Excel. Это решение на основе VBA поможет вам значительно сэкономить время и избавиться от рутинной ручной работы. Вы получите подробные инструкции по использованию, узнаете о преимуществах, типичных сценариях применения и практических советах.
Сохранение листа как Файлы PDF и отправка его по электронной почте как вложения с помощью кода VBA
Сохранение листа как Файлы PDF и отправка его по электронной почте как вложения с помощью кода VBA
Чтобы ускорить экспорт листа Excel в PDF и отправку его через Outlook, воспользуйтесь приведённым ниже кодом VBA. Этот подход особенно эффективен, если вы регулярно отправляете персонализированные отчёты, счёта или другие моментальные снимки данных прямо из Excel — он полностью автоматизирует сохранение и отправку.
Перед использованием этого метода убедитесь, что Microsoft Outlook установлен и назначен вашей основной почтовой программой. Код демонстрирует наилучшие результаты при включённых макросах в вашей среде Excel.
1. Откройте лист, который вы хотите сохранить и отправить в формате PDF. Нажмите одновременно Alt+F11, чтобы открыть редактор Microsoft Visual Basic для приложений (VBA).
2. В окне VBA выберите в меню команду Вставка > Модуль. Это создаст новый модуль кода. Затем скопируйте и вставьте приведённый ниже код VBA в окно Код модуля.
Код VBA: сохранение листа как Файлы PDF и отправка его по электронной почте как вложения
Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range
Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFileDlg.Show = True Then
xFolder = xFileDlg.SelectedItems(1)
Else
MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"
'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
vbYesNo + vbQuestion, "File Exists")
On Error Resume Next
If xYesorNo = vbYes Then
Kill xFolder
Else
MsgBox "if you don't overwrite the existing PDF, I can't continue." _
& vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
Exit Sub
End If
If Err.Number <> 0 Then
MsgBox "Unable to delete existing file. Please make sure the file is not open or write protected." _
& vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
Exit Sub
End If
End If
Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
'Save as PDF file
xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
'Create Outlook email
Set xOutlookObj = CreateObject("Outlook.Application")
Set xEmailObj = xOutlookObj.CreateItem(0)
With xEmailObj
.Display
.To = ""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Attachments.Add xFolder
If DisplayEmail = False Then
'.Send
End If
End With
Else
MsgBox "The active worksheet cannot be blank"
Exit Sub
End If
End Sub 3. После вставки кода нажмите F5 или выберите Выполнить в редакторе VBA, чтобы запустить макрос. Появится диалоговое окно выбора папки. Укажите целевую папку, в которую нужно сохранить файлы PDF, затем нажмите ОК, чтобы продолжить.

Примечания и практические советы:

4. После завершения процесса откроется новое окно письма Outlook с прикреплёнными файлами PDF. Тема письма автоматически заполнится названием листа с расширением «.pdf» — вы сможете при необходимости изменить текст, добавить получателей и отправить сообщение. Это снижает вероятность ошибок и повышает эффективность по сравнению с ручным прикреплением файлов.

Подход на основе VBA наиболее эффективен при регулярной рассылке итоговых листов в виде PDF-вложений и позволяет свести к минимуму повторяющиеся ручные действия. Его ограничения включают зависимость от Outlook, невозможность одновременной обработки нескольких листов и необходимость включения макросов. Для более сложных сценариев — например, отправки нескольких листов за один раз или расширенной автоматизации — рекомендуется использовать надстройки Excel или встроенные функции.
Альтернативное решение: если макросы VBA не подходят для вашей среды — например, когда они заблокированы, — вы можете вручную воспользоваться встроенной функцией Excel Экспорт или Сохранить как, чтобы сохранить лист в формате PDF, а затем прикрепить файл и отправить его через Outlook. Этот метод, хоть и требует больше шагов, доступен каждому — без специальных разрешений и знаний программирования.
Легко сохраните один или несколько листов как отдельные файлы Файлы PDF одновременно:
Утилита Разделить книгу из Kutools для Excel позволяет легко сохранять один или несколько листов в отдельные PDF-файлы за один раз, как показано в демонстрации ниже. Скачайте и попробуйте прямо сейчас! (30-дневная бесплатная пробная версия)

Связанные статьи:
- Как сохранить файл Excel с отметкой времени в имени?
- Как использовать функцию «Сохранить как», чтобы Excel автоматически перезаписывал существующий файл?
- Как сохранить или экспортировать несколько или все листы в отдельные файлы CSV или текстовые файлы в Excel?
- Как отключить или запретить использование команд «Сохранить» и «Сохранить как» в Excel?
- Как отключить обычное сохранение книги, оставив возможность использовать только команду «Сохранить как» в Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек