Урок за Excel – Изпращайте имейли от Excel
Обикновено използваме имейл клиенти като Outlook, Gmail и др., за да изпращаме имейли. Но много хора съхраняват данни в работни книги на Excel и трябва да изпратят някои данни на други, докато работят с тях. Следователно те трябва да изпращат имейли директно от работната книга на Excel, което спестява време за работа с имейл клиент. Този урок стъпка по стъпка ще ви покаже как да изпращате имейли от Excel при различни условия.
Забележка: Преди да приложите следните методи, трябва да конфигурирате имейл клиент на Outlook във вашия компютър и да го зададете като ваш имейл клиент по подразбиране.
Съдържание: [ Крия ]
1. Основите на изпращането на имейли от Excel
Този раздел въвежда основите на изпращане на имейли от Excel.
1.1 Изпращайте имейли от Excel с вградени функции на Excel
Ако искате да изпращате само обикновени имейли от Excel, включително само полетата До, Тема, Як и основния текст. Вградените функции в Excel могат да помогнат.
1.1.1 Изпратете имейл от Excel с формула
Както е показано в таблицата по-долу, за да изпратите различни имейли от Excel въз основа на дадените полета, можете да използвате препратките към клетките на дадените полета, за да създадете различни формули за хипервръзки, за да го направите. След като създадете имейл хипервръзките, можете да щракнете върху хипервръзката, от която се нуждаете, за да изпратите имейл автоматично.
Забележка: Ако има повече от един получател в полетата До или Як, моля, разделете ги с точка и запетая.
Този раздел е разделен на четири части, за да ви покаже стъпките за добавяне на имейл адрес, получател(и) на Cc, ред за тема и основен текст отделно към формулата за хипервръзка. Моля, направете следното.
Синтаксисът и аргументите на ХИПЕРВРЪЗКА функция са както следва.
Синтаксис
HYPERLINK(link_location, [friendly_name])
Аргументи
1.1.1.1 Добавете имейл адрес към формулата за хипервръзка
Тук използваме "mailto:" като част от формулата за добавяне на получател на имейл. В този пример имейл адресът на първия получател е в клетка B2, така че трябва да добавим „mailto:“ и да го препратим към клетка B2.
„mailto:“&B2
1. Изберете клетка за показване на хипервръзката. В този случай избирам клетка F2.
2. След това въведете следната формула в него.
=HYPERLINK("mailto:"&B2)
Забележка: Ако натиснете Въведете ключ, ще бъде създадена хипервръзка, както е показано на екранната снимка по-долу. Когато щракнете върху връзката, ще бъде създаден имейл в Outlook и имейл адресът на получателя ще бъде попълнен автоматично в полето До.
Имейл адресът на получателя вече се добавя към формулата за хипервръзка. Моля, продължете със следните стъпки, за да добавите тема, получател(и) на Як и основен текст, както ви е необходимо.
1.1.1.2 Добавяне на получател(и) на Cc към формулата за хипервръзка
За да добавите получателя(ите) на Як към функцията Хипервръзка, моля, добавете "?cc=" като част от формулата, както следва.
Формулата в клетка F2 трябва да бъде както следва:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2)
1.1.1.3 Добавете тема към формулата за хипервръзка
За да добавите темата към функцията за хипервръзка, моля, добавете "&тема=" като част от формулата, както следва.
Формулата в клетка F2 сега трябва да изглежда така:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)
1.1.1.4 Добавете основен текст с нови редове към формулата за хипервръзка
Последната стъпка е да добавите основния текст към формулата за хипервръзка. Както можете да видите в примера, два реда текст в E2 са разделени от нов ред и вие искате да запазите нов ред в тялото на имейла. Outlook разпознава ли нов ред при това обстоятелство? Нека да го проверим.
За да добавите основния текст към формулата за хипервръзка, трябва да добавите „&body=“ като част от формулата, както следва.
Формулата в клетка F2 вече се показва, както следва:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)
Забележка: Ако натиснете Въведете ключ и щракнете върху връзката. Можете да видите в новия имейл, че съдържанието в тялото на имейла се показва на същия ред.
За да покажете тялото на имейла в отделни редове, трябва да промените съдържанието на клетката, като добавите кода за връщане на каретката %0A към текста, където трябва да вмъкнете нов ред. Вижте екранна снимка:
1.1.1.5 Посочете текста, който да се показва за хипервръзката
В горните стъпки завършихме аргумента Link_location с имейл полета. Тук, в този раздел, ще завършим следващия аргумент [friendly_name].
В този случай искам клетката с хипервръзка да показва текста като „Изпратете имейл до xx”, където xx е името на получателя в A2. Така че формулата във F2 трябва да се промени на:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)
Натиснете Въведете ключ за получаване на резултата.
Изберете тази клетка с формула и я плъзнете Манипулатор за автоматично попълване надолу, за да създадете други имейл хипервръзки. Вижте екранна снимка:
1.1.2 Изпратете имейл от Excel с функцията Hyperlink
С изключение на използването на горната формула за хипервръзка, можете ръчно да създадете имейл хипервръзка с Поставете Hyperlink функция в Excel. Този раздел ще ви покаже стъпките.
1. Щракнете с десния бутон върху имейл, където искате да вмъкнете хипервръзка, изберете връзка от менюто с десен бутон.
2. При изскачане Поставете хипервръзка диалогов прозорец, трябва да конфигурирате както следва.
Когато щракнете върху хипервръзката, ще бъде създаден имейл на Outlook с посочените полета До, Тема и Основен текст, както е показано на екранната снимка по-долу.
бележки:
1.2 Изпратете имейл до множество получатели в клетки с VBA скрипт
В примера по-горе можете да видите множество имейл адреси, показани в клетка, разделени с точка и запетая. Ако имате списък с имейл адреси, както е показано на екранната снимка по-долу, и искате да изпратите имейл или независим имейл до всички тях, следният VBA код може да ви направи услуга.
1.2.1 Изпратете имейл до множество получатели в клетки с VBA скрипт
1. В работния лист, който съдържа всички имейл адреси, на които искате да изпратите имейла. Натисни Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модул, и след това поставете следния код в Модул (код) прозорец.
VBA код: Изпратете имейл до списък с имейл адреси
Sub sendmultiple()
'updateby Extendoffice 20220802
Dim xOTApp As Object
Dim xMItem As Object
Dim xCell As Range
Dim xRg As Range
Dim xEmailAddr As String
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOTApp = CreateObject("Outlook.Application")
For Each xCell In xRg
If xCell.Value Like "*@*" Then
If xEmailAddr = "" Then
xEmailAddr = xCell.Value
Else
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Next
Set xMItem = xOTApp.CreateItem(0)
With xMItem
.To = xEmailAddr
.Subject = "Test"
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
.Display
End With
End Sub
3. Натисни F5 ключ за изпълнение на кода и a Kutools за Excel изскача диалогов прозорец. Изберете списъка с имейл адреси и щракнете OK.
Забележки:
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
След изпълнение на кода всички имейл адреси в избрания диапазон се показват в полето До на прозореца на съобщението. Вижте екранна снимка:
1.2.2 Отделно изпращане на имейли до всеки получател, посочен в клетки с VBA скрипт
Горният код добавя всички имейл адреси в избрания диапазон към полето До на прозореца на съобщението. Ако искате да изпращате имейли до всеки имейл адрес, посочен в клетки поотделно, без да им позволявате да виждат имейл адресите на другия, можете да опитате следния VBA скрипт.
1. В работния лист, който съдържа всички имейл адреси, на които искате да изпратите имейлите. Натисни Друг + F11 бутони за отворете прозореца на Microsoft Visual Basic за приложения.
2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модулии след това поставете следния код в прозореца Модул (Код).
VBA код: Изпращайте имейли до всеки имейл адрес, посочен в клетки поотделно
Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
Dim xRg As Range
Dim xRgEach As Range
Dim xRgVal As String
Dim xAddress As String
Dim xOutApp As Outlook.Application
Dim xMailOut As Outlook.MailItem
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the addresses list", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
For Each xRgEach In xRg
xRgVal = xRgEach.Value
If xRgVal Like "?*@?*.?*" Then
Set xMailOut = xOutApp.CreateItem(olMailItem)
With xMailOut
.To = xRgVal
.Subject = "Test"
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
.Display
'.Send
End With
End If
Next
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
3. След това кликнете Инструменти > Препратки. в Препратки – VBAProject диалогов прозорец, намерете и проверете Библиотека с обекти на Microsoft Outlook 16.0 и след това кликнете върху OK , за да запазите промените.
4. Натисни F5 ключ за изпълнение на кода и a Kutools за Excel изскача диалогов прозорец. Изберете списъка с имейл адреси и щракнете OK.
Забележки:
.Subject = "Test"
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
В този пример има шест имейл адреса в избрания диапазон, така че шест прозореца за съобщения на Outlook ще бъдат създадени автоматично с отделен имейл адрес, посочен в полето До, както е показано на екранната снимка по-долу.
5. Най-накрая щракнете Изпрати бутон за изпращане на имейла един по един.
2. Вмъкнете прикачени файлове или подпис на Outlook в имейлите, изпратени от Excel (с VBA скриптове)
Този раздел ще ви покаже как да вмъквате прикачени файлове или подпис по подразбиране на Outlook в имейлите, изпратени от Excel.
2.1 Вмъкнете прикачени файлове в имейлите, изпратени от Excel
Тук описваме различните случаи на вмъкване на прикачени файлове и можете да изберете метода според вашите нужди. В този раздел можете да се научите да (щракнете върху някоя от следните връзки, за да отидете до съответния метод):
2.1.1 Изпратете по имейл определен файл като прикачен файл
Можете да приложите следния VBA код, за да изпратите по имейл един или повече файлове в папка като прикачени файлове от Excel.
1. Натисни Друг + F11 ключове.
2. В откриването Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модули. След това поставете следния VBA код в прозореца Module (Code).
VBA код: Изпратете имейл на файлове в папка като прикачени файлове от Excel
Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
Dim xStrFile As String
Dim xFilePath As String
Dim xFileDlg As FileDialog
Dim xFileDlgItem As Variant
Dim xOutApp As Outlook.Application
Dim xMailOut As Outlook.MailItem
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
If xFileDlg.Show = -1 Then
With xMailOut
.BodyFormat = olFormatRichText
.To = ""
.Subject = "test"
.HTMLBody = "test"
For Each xFileDlgItem In xFileDlg.SelectedItems
.Attachments.Add xFileDlgItem
Next xFileDlgItem
.Display
End With
End If
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
бележки:
3. След това кликнете Инструменти > Препратки. в Препратки – VBAProject диалогов прозорец, намерете и проверете Библиотека с обекти на Microsoft Outlook 16.0 и след това кликнете върху OK , за да запазите промените.
4. Натисни F5 клавиш за изпълнение на кода, след това a паса изскача прозорец, моля, изберете файловете, които трябва да прикачите в имейла, и след това щракнете OK.
След това се появява прозорец със съобщение. Можете да видите избраните файлове да се показват като прикачени файлове в полето Прикачено.
2.1.2 Изпратете текущия работен лист по имейл като прикачен файл
Ако искате да изпратите текущия работен лист по имейл като прикачен файл от Excel, можете да приложите VBA скрипта в този раздел.
1. Натисни Друг + F11 ключове.
2. В откриването Microsoft Visual Basic за приложения прозорец, кликнете вмъкнете > Модули. След това поставете следния VBA код в Модул (код) прозорец.
VBA код: Изпратете имейл на текущия работен лист като прикачен файл
Sub SendWorkSheet()
'Update by Extendoffice 20220802
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.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 = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte features"
.Body = "Please check and read this document."
.Attachments.Add Wb2.FullName
.Display
'.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub
Забележки:
3. Натисни F5 за изпълнение на кода, тогава текущият работен лист се записва като работна книга на Excel и автоматично се вмъква в прозорец на съобщение като прикачен файл. Вижте екранна снимка:
Забележка: Прикачената работна книга, която съдържа само текущия работен лист, има същото име като оригиналната работна книга. И времето, когато изпълнявате кода, също се добавя към името на работната книга.
2.1.3 Изпратете по имейл текущата работна книга като прикачен файл
След като научите VBA кода за изпращане на имейл на текущия работен лист като прикачен файл от Excel, тук предоставяме друг VBA скрипт, който да ви помогне да изпратите имейл на цялата работна книга като прикачен файл. Моля, направете следното.
1. Натисни Друг + F11 ключове.
2. В откриването Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модул. След това поставете следния VBA код в прозореца Module (Code).
VBA код: Изпратете имейл на текущата работна книга като прикачен файл от Excel
Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte feature"
.Body = "Hello, please check and read this document, thank you."
.Attachments.Add Application.ActiveWorkbook.FullName
.Display
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
Забележки:
3. Натисни F5 за изпълнение на кода, след което текущата работна книга автоматично се вмъква в прозорец на съобщение като прикачен файл. Вижте екранна снимка:
2.1.4 Изпратете по имейл цялата работна книга като PDF прикачен файл
За повечето хора те са склонни да запазят работна книга на Excel като PDF файл и след това да я изпратят като прикачен файл на други. В този раздел ще ви покажа начин за изпращане на имейли директно от Excel с текущата отворена работна книга като PDF прикачен файл, без да се налага ръчно да запазвате работната книга като PDF файл.
1. Натисни Друг + F11 ключове.
2. В откриването Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модул. След това поставете следния VBA код в прозореца Module (Code).
VBA код: Изпратете цялата работна книга като PDF прикачен файл
Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName
Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
FilePath, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.Body = "test"
.Attachments.Add FilePath
.Display 'or use .Send
End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
Забележки:
3. Натисни F5 ключ за изпълнение на кода. След това текущата работна книга автоматично се вмъква в прозорец за ново съобщение като прикачен PDF файл. Вижте екранна снимка:
2.1.5 Изпратете текущия работен лист по имейл като PDF прикачен файл
Например, има работна книга с име „Месечни продажби“ и вие сте завършили таблица с отчет за продажбите в работен лист с име „отчет за продажбите“ и искате да изпратите този работен лист като PDF файл на вашите колеги. Следният VBA код може да ви направи услуга.
1. Натисни Друг + F11 ключове.
2. В откриването Microsoft Visual Basic за приложения прозорец, кликнете вмъкнете > Модул. След това поставете следния VBA код в прозореца Module (Code).
VBA код: Изпратете имейл на текущия работен лист като PDF прикачен файл
Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.Body = "test"
.Attachments.Add FileName
.Display
'.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
Забележки:
3. Натисни F5 ключ за изпълнение на кода. След това текущият работен лист автоматично се вмъква в прозорец за ново съобщение като прикачен PDF файл. Вижте екранна снимка:
2.2 Вмъкване на подпис на Outlook в имейлите, изпратени от Excel
Вземете горния случай като пример, вие прилагате горния VBA код, за да изпратите текущия работен лист като прикачен PDF файл от Excel, но подписът на Outlook не може да бъде добавен към прозореца на съобщението. За да запазите подписа по подразбиране на Outlook в имейла, изпратен от Excel, ще ви помогне следният метод.
Два VBA кода са изброени по-долу.
VBA код 1: Кодът помага да се запази подписът на Outlook.
VBA код 2: Кодът помага за изпращане по имейл на текущия работен лист като PDF прикачен файл.
VBA код 1: Запазете подписа на Outlook
.HTMLBody = "Email body" & "
" & .HTMLBody
VBA код 2: Изпратете текущия работен лист по имейл като PDF прикачен файл
Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.Body = "test"
.Attachments.Add FileName
.Display
'.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
1. Обикновено трябва да натиснете Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модули. След това поставете горния VBA код 2 в прозореца Module (Code).
3. За да запазите подписа по подразбиране на Outlook в имейла, изпратен от Excel, трябва да промените VBA код 2, както следва:
Ето пълния код след модификация.
Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.Display
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.HTMLBody = "Email body" & "
" & .HTMLBody
.Attachments.Add FileName
'.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
4. Натисни F5 ключ за изпълнение на кода. След това ще получите прозорец за ново съобщение с текущия работен лист, прикачен като PDF файл, докато подписът по подразбиране на Outlook ще бъде вмъкнат автоматично в края на тялото на имейла.
3. Автоматично изпращане на имейли от Excel, когато е изпълнено условие (с VBA скриптове)
В горните примери трябва да стартирате кода ръчно, за да постигнете доставката на имейл. Ако искате да задействате кода автоматично, когато е изпълнено определено условие, като например когато клетка достигне определена стойност, когато стойността на клетка се промени, когато е достигната дата и т.н., имейлът ще бъде изпратен автоматично. Този раздел изброява условията, които потребителите на Excel често са търсили в Google, за да ви помогнат автоматично да изпращате имейли от Excel, когато определено условие е изпълнено.
3.1 Автоматично изпращане на имейл, когато клетка достигне определена стойност
Както е показано на екранната снимка по-долу, да предположим, че имате таблица с продажби с клетка D6, съдържаща общите продажби. Искате автоматично да изпратите имейл до шефа си въз основа на общата сума на продажбите, например да създадете или изпратите имейл автоматично, когато общата сума на продажбите надвиши 10000 10000, но ако общата сума на продажбите е равна или по-малка от XNUMX XNUMX, не се предприема действие.
1. В работния лист съдържа таблицата за продажба, щракнете с десния бутон върху раздела на листа и щракнете Вижте кода от менюто с десен бутон.
2. В откриването Microsoft Visual Basic за приложения прозорец, поставете следния VBA код в Лист (код) прозорец.
VBA код: Автоматично изпращане на имейл, когато клетка достигне определена стойност в Excel
Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub
бележки:
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
Отсега нататък, когато стойността в клетка D6 надвиши 10000, ще бъде създаден имейл, както е показано на екранната снимка по-долу.
3.2 Автоматично изпращане на имейл, когато стойността на клетка се промени
Както е показано на екранната снимка по-долу, да предположим, че получавате работна книга, която съдържа месечни продажби в различни работни листове и общата сума на продажбите в работен лист. Трябва да проверите общата сума на продажбите и ако общата сума на продажбите е променена, изпратете работната книга обратно на подателя и го информирайте, че клетката е променена.
1. В работния лист съдържа таблицата за продажба, щракнете с десния бутон върху раздела на листа и щракнете Вижте кода от менюто с десен бутон.
2. В откриването Microsoft Visual Basic за приложения прозорец, поставете следния VBA код в прозореца Sheet (Code).
VBA код: Автоматично изпращане на имейл, когато определена стойност на клетка се промени
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")
Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If
ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."
With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
бележки: В кода,
Отсега нататък, когато стойността в клетка B14 се промени, автоматично ще се създаде съобщение в Outlook, както е показано на екранната снимка по-долу.
3.3 Автоматично изпращане на имейл при запазване на работна книга
Ако имате работна книга, която трябва да бъде споделена с други след модифициране, обикновено трябва да запазите работната книга, да стартирате имейл клиента, да създадете нов имейл с прикачената работна книга, да съставите съответните полета, след което да изпратите имейла. Този раздел ще ви покаже метод за автоматично създаване на имейл всеки път, когато запишете работната книга. Моля, направете следното.
1. Натисни Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В този прозорец щракнете два пъти Тази работна книга в Проект прозорец, след което поставете следния VBA код в Тази работна книга (код) прозорец.
VBA код: Автоматично изпращане на имейл, когато работна книга бъде запазена
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
Dim xOutApp As Object
Dim xMailItem As Object
Dim xName As String
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xName = ActiveWorkbook.FullName
With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "The workbook has been updated"
.Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
.Attachments.Add xName
.Display
'.send
End With
Set xMailItem = Nothing
Set xOutApp = Nothing
End Sub
бележки: В кода,
3. Отсега нататък, когато записвате работната книга чрез натискане на Ctrl + S клавиши или щракване върху Save бутон, имейл на Outlook ще бъде създаден автоматично. Можете да видите, че текущата работна книга е прикачена като прикачен файл и полетата са попълнени с посоченото съдържание. Вижте екранна снимка:
Съвети: Ако често използвате тази работна книга, тук препоръчваме да запазите работната книга като Работна книга с активирани макроси на Excel за да запазите VBA скрипта за бъдеща употреба. Стъпките са както следва.
3.4 Автоматично изпращане на имейл в определено време
Да приемем, че трябва да изпратите имейл с работна книга за задачи на някого всеки петък сутрин в 9чи искате да направите това автоматично в Excel, без да се налага ръчно да управлявате имейл клиента. Този раздел ще ви покаже метода да го направите.
1. Натисни Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модул. След това поставете следния VBA код в прозореца на модула.
VBA code1 : Изпратете имейл на текущата работна книга като прикачен файл от Excel
Sub Timer()
If Weekday(Date) = vbFriday Then
SendWorkBook
Application.OnTime TimeValue("09:00:00"), "Timer"
Else
Application.OnTime TimeValue("09:00:00"), "Timer"
End If
End Sub
Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte feature"
.Body = "Hello, please check and read this document, thank you."
.Attachments.Add Application.ActiveWorkbook.FullName
.Display
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
3. В този прозорец щракнете два пъти Тази работна книга в Проект прозорец, след което поставете следния VBA код в Тази работна книга (код) прозорец.
VBA код 2: Автоматично изпращане на имейл в определено време
Private Sub Workbook_Open()
Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub
бележки:
4. Запазете кодовете и след това запазете работната книга като работна книга с активирани макроси на Excel, както следва.
5. Отворете вашата запазена работна книга с активирани макроси, след което имейл ще бъде създаден или изпратен автоматично, когато настъпят денят и часът.
4. Допълнителни теми
Този раздел събира други теми, които може да срещнете, когато изпращате имейли от Excel.
4.1 Изпращане по имейл на диапазон от клетки от Excel (с VBA скрипт)
Да предположим, че има месечна таблица с продажби в работен лист на Excel, както е показано на екранната снимка по-долу, и трябва да изпратите тази месечна таблица с продажби на други като основно съдържание на имейл или като прикачен файл директно. Тук ви предлагаме два метода да го направите.
4.1.1 Изпратете по имейл диапазон като част от основното съдържание от Excel
Можете да изпълните следния VBA код, за да изпратите диапазон от клетки като част от съдържанието на тялото на имейла от Excel
1. Натисни Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, кликнете Инструменти > Препратки. И след това проверете Библиотека с обекти на Microsoft Outlook 16.0 и кликнете OK в Препратки – VBAProject диалогов прозорец.
3. кликване Поставете > Модули, след което поставете следния VBA код в Модул (код) прозорец.
VBA код: Изпратете диапазон от клетки като част от основното съдържание на имейла от Excel
Sub SendARangeofCells()
'Updated by Extendoffice 20220809
Dim xRg As Range
Dim I, J As Long
Dim xAddress As String
Dim xMailOut As Object
Dim xOutApp As Object
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
With xMailOut
.Subject = "test"
.To = ""
.CC = "Email address"
.BCC = "Email address"
.HTMLBody = RangetoHTML(xRg)
.Display
'.Send
End With
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
' The following VBA script is cited from this page:
' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
Dim fso As Object
Dim ts As Object
Dim TempFile As String
Dim TempWB As Workbook
TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
'Copy the range and create a new workbook to past the data in
rng.Copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).Select
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
End With
'Publish the sheet to a htm file
With TempWB.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=TempFile, _
Sheet:=TempWB.Sheets(1).Name, _
Source:=TempWB.Sheets(1).UsedRange.Address, _
HtmlType:=xlHtmlStatic)
.Publish (True)
End With
'Read all data from the htm file into RangetoHTML
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
RangetoHTML = ts.ReadAll
ts.Close
RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
"align=left x:publishsource=")
'Close TempWB
TempWB.Close savechanges:=False
'Delete the htm file we used in this function
Kill TempFile
Set ts = Nothing
Set fso = Nothing
Set TempWB = Nothing
End Function
бележки: В кода,
4. Натисни F5 ключ за изпълнение на кода. В появилото се Kutools за Excel изберете диапазона от клетки, които трябва да изпратите като част от основното съдържание на имейл, след което щракнете OK. Вижте екранна снимка:
След това автоматично ще бъде създаден имейл в Outlook. Можете да видите, че диапазонът, който сте избрали в работния лист, е вмъкнат в тялото на имейла. Вижте екранна снимка:
4.1.2 Изпратете по имейл диапазон като прикачен файл от Excel
Ако трябва да изпратите по имейл диапазон от клетки в работен лист като прикачен файл от Excel. Можете да опитате следния VBA код.
1. Натисни Друг + F11 ключове.
2. В откриването Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модули. След това поставете следния VBA код в Модул (код) прозорец.
VBA код: Изпратете имейл на диапазон като прикачен файл от Excel
Sub SendRange()
'Update 20220809
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 = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Monthly sales for 2021"
.Body = "Hello, please check and read this document. "
.Attachments.Add Wb2.FullName
.Display
'.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
бележки:
3. Натисни F5 ключ за изпълнение на кода. В появилото се Kutools за Excel изберете диапазона от клетки, които трябва да изпратите като прикачен файл в имейл, след което щракнете OK. Вижте екранна снимка:
След това автоматично ще бъде създаден имейл в Outlook. И диапазонът от клетки, които сте избрали в работния лист, се записва като работна книга на Excel и се прикачва в прозореца Съобщение. Вижте екранна снимка:
4.2 Изпращане на имейли при натискане на бутон в Excel
Ако трябва да щракнете върху команден бутон, за да задействате макрос за изпращане на имейл от Excel, например, изпратете текущата работна книга като прикачен файл към други, като щракнете върху команден бутон в работния лист. Можете да следвате стъпките, както следва, за да го направите.
1. кликване Софтуерен Инженер > Поставете > Команден бутон (ActiveX Control). След това нарисувайте команден бутон в работния лист.
Съвети: Ако вече имате команден бутон, пропуснете тази стъпка.
2. Натисни Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец. В прозореца щракнете Поставете > Модул, след което поставете VBA кода (кода, използван за изпращане на имейл на текущата работна книга като прикачен файл от Excel) в прозореца Модул (Код).
Щракнете тук, за да получите кода.
Забележка: Тук е името на макроса, който сте създали в стъпка 2 Изпрати работна книга.
3. Натисни Друг + Q ключове за затваряне на Microsoft Visual Basic за приложения прозорец.
4. Сега трябва да присвоите макроса на командния бутон. Щракнете с десния бутон върху командния бутон, изберете Преглед на кода от менюто с десния бутон.
5. След това Microsoft Visual Basic за приложения изскачащ прозорец, можете да видите следните два реда, изброени в Лист (код) прозорец.
Private Sub CommandButton1_Click()
End Sub
6. Въведете името на съществуващия макрос вътре в подпроцедурата за командния бутон.
7. Натисни Друг + Q ключове за затваряне на Visual Basic редактор, и кликнете Софтуерен Инженер > Режим на проектиране за да изключите режима на проектиране.
Сега можете да щракнете върху командния бутон, за да изпратите имейл с текущата работна книга като прикачен файл в имейла.
4.3 Изпращайте имейли от определен имейл акаунт
Обикновено, когато стартирате имейл от Excel с VBA код, имейл акаунтът на подателя е акаунтът по подразбиране в Outlook. Да предположим, че сте конфигурирали няколко имейл акаунта във вашия Outlook и искате да използвате определен акаунт за изпращане на имейли от Excel, вместо да използвате акаунта по подразбиране. Следният VBA код може да помогне.
В този случай са необходими следните кодове.
VBA код 1:
Dim OutlookMail As Outlook.MailItem
VBA код 2:
For Each xAccount In OutlookApp.Session.Accounts
If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
OutlookMail.SendUsingAccount = xAccount
End If
Next
Как да използвам горния VBA код?
В този пример ще посочим определен имейл акаунт, за да изпратим текущата работна книга като прикачен файл от Excel. Моля, направете следното.
1. Натисни Друг + F11 ключове. В Microsoft Visual Basic за приложения прозорец, кликнете Инструменти > Препратки. И след това проверете Библиотека с обекти на Microsoft Outlook 16.0 и кликнете OK в Препратки – VBAProject диалогов прозорец.
2. кликване Поставете > Модули. След това поставете следния VBA код в Модул (код) прозорец.
VBA код: Изпратете текущата работна книга като прикачен файл към имейл от Excel през определен акаунт в Outlook
Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
OutlookMail.SendUsingAccount = xAccount
End If
Next
'End
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte feature"
.Body = "Hello, please check and read this document, thank you."
.Attachments.Add Application.ActiveWorkbook.FullName
.Display
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
3. Натисни F5 ключ за изпълнение на кода. След това се появява имейл съобщение на Outlook, можете да видите, че от полето се попълва с имейл акаунта, който сте посочили в кода.
4.4 Изпращане на имейл при достигане на дата
Ако трябва да изпратите имейл въз основа на конкретна крайна дата, например, както е показано на екранната снимка по-долу, има таблица с проекти, когато крайната дата в диапазона E2:E7 е равна на или по-малко от 7 дни от днес (приемайки, че текущата дата е 2022/8/4), имейл ще бъде изпратен автоматично до съответните ръководители на проекта и ще ги уведоми, че проектът е на път да изтече.
1. В работния лист съдържа таблицата на проекта, щракнете с десния бутон върху раздела на листа и щракнете Вижте кода от менюто с десен бутон.
2. В откриването Microsoft Visual Basic за приложения прозорец, поставете следния VBA код в Лист (код) прозорец.
VBA код: Автоматично изпращане на имейл, когато настъпи краен срок
Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "
"
xMailBody = ""
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & ""
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.CC = "Email address"
.BCC = "Email address"
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub
бележки: В кода,
3. Натисни F5 ключ за изпълнение на кода. След това, ако срокът на валидност отговаря на условията, ще бъде създаден съответният имейл. В този случай ще бъдат създадени два имейла, както е показано на екранната снимка по-долу.
5. Удобен инструмент, който ви помага лесно да изпращате имейли от Excel
Ако сте начинаещ във VBA, горните методи може да не са лесни за вас. Тук препоръчваме Kutools за ExcelЕ Изпращане на имейли функция, с тази функция можете лесно да изпращате имейли от Excel само с няколко кликвания. Моля, направете следното.
Преди да кандидатствате Kutools за Excel, Моля те първо го изтеглете и инсталирайте.
5.1 Създайте лесно пощенски списък, който включва имейл полетата, от които се нуждаете
Преди да приложите функцията за изпращане на имейли, трябва да създадете пощенски списък, който съдържа имейл полетата, от които се нуждаете. Тук може да помогне функцията за създаване на пощенски списък.
1. кликване Kutools плюс > Създаване на пощенски списък.
2. В откриването Създаване на пощенски списък прозорец, трябва да конфигурирате както следва.
След това се създава примерна таблица с пощенски списък, както е показано на екранната снимка по-долу.
3. Сега трябва да замените оригиналните данни в извадката с вашите собствени данни от полето.
Вече сте създали таблица с пощенски списък. Моля, продължете, за да приложите Изпращане на имейли функция за изпращане на имейли от Excel въз основа на създадените от вас полета.
Ако искате да имате безплатен пробен период (30 дни) на тази помощна програма, моля, щракнете, за да го изтеглитеи след това преминете към прилагане на операцията съгласно горните стъпки.
5.2 Изпращайте лесно имейли, включително полетата, които сте създали в пощенския списък
След създаването на пощенския списък (щракнете, за да разберете как), който съдържа полетата, от които може да се нуждаете във вашите имейли, вече можете да изпращате имейли от Excel с тези полета.
1. Изберете целия пощенски списък, щракнете Kutools плюс > Изпращане на имейли.
2. В Изпращане на имейли диалогов прозорец, моля, направете следната конфигурация.
3. След това a Kutools за Excel се появява диалогов прозорец, за да ви каже колко имейла са изпратени, щракнете върху OK бутон, за да затворите този диалогов прозорец.
Съвети: Можете да отидете на Изпратени елементи папка във вашия Outlook, за да проверите имейлите, които сте изпратили.
5.3 Лесно изпращане на имейли с HTML текст (включително хипервръзка, изображение и др.)
Тази функция за изпращане на имейли ви позволява да създадете html имейл, който включва хипервръзка, изображение, различни размери и цветове на шрифта и т.н.
След създаване на пощенски списък, който включва имейл полетата, от които се нуждаете,
Когато конфигурирайте диалоговия прозорец Изпращане на имейли, можете да направите основното съдържание богато, като използвате опциите в лентата с инструменти.
Вижте екранната снимка по-долу:
5.4 Лесно поставяне на подпис по подразбиране на Outlook при изпращане на имейли
В горния метод демонстрирахме VBA код, който да ви помогне да изпращате имейли с подпис по подразбиране на Outlook. Тук с функцията за изпращане на имейли просто трябва да поставите отметка на опция, след което подписът по подразбиране на Outlook ще бъде вмъкнат в имейлите, които сте изпратили от Excel.
След създаване на пощенски списък, който включва имейл полетата, от които се нуждаете,
Кога конфигурирайте диалоговия прозорец Изпращане на имейли, трябва да щракнете Настроики > Използвайте настройките за подпис на Outlook.
Забележка: Моля, уверете се, че се показва отметка преди опцията Използване на настройките за подпис на Outlook.
Когато получателите получат имейла, те могат да видят подписа по подразбиране на Outlook, показан в края на тялото на имейла.
5.5 Лесно изпращане на имейли от определен имейл акаунт
За да използвате определен имейл акаунт за изпращане на имейли от Excel, вместо да използвате акаунта по подразбиране, функцията за изпращане на имейли също може да ви помогне лесно да го направите.
След създаване на пощенски списък, който включва имейл полетата, от които се нуждаете,
Кога конфигурирайте диалоговия прозорец Изпращане на имейли, трябва да щракнете Настроики > Изпратено от, след което щракнете върху имейл акаунта, от който трябва да изпращате имейли.
Забележка: След като изберете имейл акаунта, пред него ще се покаже отметка.
Кликнете тук за да научите повече за тази функция за изпращане на имейли.
Ако искате да имате безплатен пробен период (30 дни) на тази помощна програма, моля, щракнете, за да го изтеглитеи след това преминете към прилагане на операцията съгласно горните стъпки.
В заключение, изпращането на имейли от Excel е доста полезно в ежедневната ни работа. Тази статия обхваща по-изчерпателни теми за изпращане на имейли от Excel, ако има други теми или по-лесни решения, моля, оставете коментар, за да ме уведомите.
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!