Как сохранить лист в формате PDF и отправить его как вложение через Outlook?
В повседневной работе вы можете часто сталкиваться с ситуациями, когда вам нужно поделиться определенным листом с коллегами или клиентами, но при этом важно, чтобы формат файла был фиксированным и безопасным. Отправка листа в виде PDF-файла через Outlook является распространенной необходимостью, особенно для документирования отчетов, отправки счетов или обмена окончательными данными, которые не должны легко изменяться. Традиционно это включает ручное сохранение листа в формате PDF, открытие Outlook, написание письма, добавление PDF-файла и отправку — что утомительно и отнимает много времени, особенно если это повторяется часто или при работе с несколькими листами.
Эта статья проведет вас пошагово через процесс автоматизации преобразования листа в PDF и немедленного прикрепления его к электронному письму в Outlook непосредственно из Excel, помогая вам значительно сэкономить время и избежать повторяющейся ручной работы. Вы найдете решение с использованием VBA-кода, а также подробности о работе, преимуществах, сценариях применения и практических советах.
Сохраните лист в формате PDF и отправьте его как вложение с помощью VBA-кода
Сохраните лист в формате PDF и отправьте его как вложение с помощью VBA-кода
Чтобы ускорить процесс экспорта рабочего листа Excel в формат PDF и отправки его через Outlook, вы можете использовать следующий VBA-код. Этот подход особенно полезен, если вам регулярно нужно отправлять персонализированные отчеты, счета или другие снимки данных прямо из Excel, так как он полностью автоматизирует шаги сохранения и отправки.
Перед применением этого метода убедитесь, что Microsoft Outlook установлен и настроен как ваш почтовый клиент по умолчанию. Код работает лучше всего, когда макросы включены в вашей среде Excel.
1. Откройте лист, который вы хотите сохранить и отправить в формате PDF. Нажмите Alt + F11 одновременно, чтобы запустить редактор Microsoft Visual Basic for Applications (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-файл, затем нажмите OK для продолжения.
Примечания и практические советы:
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-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек