Как отправить / отправить по электронной почте диапазон ячеек через Outlook из Excel?
Вы когда-нибудь сталкивались с проблемой, что после завершения отчета на листе вам нужно отправить в диапазон ячеек на этом листе, которые содержат некоторые важные данные для вашего конкретного получателя. Есть ли какие-нибудь быстрые способы отправить этот диапазон по электронной почте из Excel, не открывая Outlook?
Отправить диапазон ячеек как вложение из Excel с кодом VBA
Отправить диапазон ячеек как тело из Excel с кодом VBA
Отправить диапазон ячеек как вложение из Excel с кодом VBA
Следующий код VBA может помочь вам отправить выбранный диапазон в виде вложения в Excel. Пожалуйста, сделайте так:
1. Откройте свою книгу и удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.
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
Внимание: В приведенном выше коде вы можете изменить следующую информацию по своему усмотрению.
- .Кому = "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 для приложений.
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?
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!