Как отправить диапазон ячеек через Outlook из Excel?
Сталкивались ли вы с проблемой, когда после завершения отчета на листе вам нужно отправить определенный диапазон ячеек, содержащий важные данные, конкретному получателю. Существуют ли быстрые способы отправить этот диапазон прямо из Excel, не открывая Outlook?
Отправка диапазона ячеек как вложение из Excel с помощью кода VBA
Отправка диапазона ячеек как тело письма из Excel с помощью кода VBA
Отправка диапазона ячеек как вложение из Excel с помощью кода VBA
Следующий код VBA поможет вам отправить выбранный диапазон как вложение в Excel. Пожалуйста, выполните следующие действия:
1. Откройте вашу книгу и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставить > Модуль и вставьте следующий код в окно Модуля.
Код VBA: отправка диапазона ячеек как вложение из Excel
Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
If Wb2.HasVBProject Then
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Else
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Case Excel8:
xFile = ".xls"
xFormat = Excel8
Case xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
.To = "skyyang@extendoffice.com"
.CC = ""
.BCC = ""
.Subject = "information of kte"
.Body = "hello, please check and read this document. "
.Attachments.Add Wb2.FullName
.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Примечание: В приведенном выше коде вы можете изменить следующую информацию по своему усмотрению.
- .To = "skyyang@extendoffice.com"
- .CC = ""
- .BCC = ""
- .Subject = "информация о kte"
- .Body = "привет, пожалуйста, проверьте и прочитайте этот документ."
3. Затем нажмите клавишу F5 для запуска этого кода, и появится диалоговое окно, напоминающее вам выбрать диапазон, который вы хотите отправить. Смотрите скриншот:
4. Затем нажмите OK, появится диалоговое окно, после завершения прогресс-бара нажмите Разрешить, и затем указанный диапазон ячеек будет отправлен вашему получателю как вложение.

Раскройте магию Excel с Kutools AI
- Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
- Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формул: Легко разбирайтесь в сложных формулах.
- Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Отправка диапазона ячеек как тело письма из Excel с помощью кода VBA
Если вы хотите отправить определенный диапазон как часть тела сообщения из Excel, вы также можете применить следующий код VBA для решения этой задачи.
1. Активируйте ваш лист и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставить > Модуль и вставьте следующий код в окно Модуля.
Код VBA: отправка диапазона ячеек как тело письма из Excel
Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "Please read this email."
.Item.To = "skyyang@extendoffice.com"
.Item.Subject = "information of kte"
.Item.Send
End With
Application.ScreenUpdating = True
End Sub
Примечание: В приведенном выше коде вы можете изменить следующую информацию по вашему усмотрению.
- .Introduction = "Пожалуйста, прочтите это письмо."
- .Item.To = "skyyang@extendoffice.com"
- .Item.Subject = "информация о kte"
3. Затем нажмите клавишу F5 для запуска этого кода, и появится диалоговое окно, напоминающее вам выбрать диапазон, который вы хотите отправить.
4. Затем нажмите OK, появится диалоговое окно, после завершения прогресс-бара нажмите Разрешить, и затем указанный диапазон ячеек будет отправлен вашему получателю как тело сообщения.
Примечания:
1. Эти коды работают только при использовании Outlook в качестве почтовой программы.
2. После отправки текущего листа вы можете перейти в ваш Outlook, чтобы убедиться, что письмо было успешно отправлено.
Связанные статьи:
Как отправить только рабочий лист через Outlook из Excel?
Как отправить текущую рабочую книгу через Outlook из 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-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек