Если вы хотите отправить все рабочие листы в книге Excel в виде отдельных электронных писем Outlook, вы можете использовать метод, представленный в этой статье. Это может помочь вам реализовать его оптом, не отправляя его по одному.
В моем предыдущем рost 2 быстрых метода отправки листа Excel в виде электронного письма Outlook», вы можете узнать о двух способах отправки одного листа Excel по электронной почте. Если вы хотите пакетно отправить все рабочие листы в одной книге в виде отдельных электронных писем, используя любой из двух способов, упомянутых в этом post будет довольно утомительно и хлопотно. Таким образом, здесь мы представим еще один способ, который может реализовать такую «Пакетную отправку» за короткое время.

Пакетная отправка всех рабочих листов в одной книге Excel в виде отдельных электронных писем
- Прежде всего, вы должны открыть исходную книгу Excel.
- Затем, после входа в окно Excel, вы должны нажать на сочетания клавиш «Alt + F11».
- Затем появится другое окно под названием «Microsoft Visual Basic для приложений».
- В нем вы должны открыть неиспользуемый модуль или вставить новый модуль.
- Впоследствии вы можете скопировать следующий код VBA в этот модуль.
Sub SendEachWorksheet_inOutlookEmail()
Dim objWorksheet As Excel.Worksheet
Dim objRange As Excel.Range
Dim objTempWorkbook As Excel.Workbook
Dim objTempWorksheet As Excel.Worksheet
Dim strTempFolder As String
Dim strHTMLFile As String
Dim objHTMLFile As Object
Dim objFileSystem As Object
Dim objTextStream As Object
Dim objOutlookApp As Outlook.Application
Dim objMail As Outlook.MailItem
For Each objWorksheet In ActiveWorkbook.Sheets
Set objRange = objWorksheet.UsedRange
objRange.Copy
Set objTempWorkbook = Excel.Application.Workbooks.Add(1)
Set objTempWorksheet = objTempWorkbook.Sheets(1)
With objTempWorksheet.Cells(1)
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteColumnWidths
.PasteSpecial xlPasteFormats
End With
strTempFolder = CStr(Environ("USERPROFILE")) & "\AppData\Local\Temp"
strHTMLFile = strTempFolder & "\Temp" & Format(Now, "yyyymmddhhmmss") & ".htm"
Set objHTMLFile = objTempWorkbook.PublishObjects.Add(xlSourceRange, strHTMLFile, objTempWorksheet.Name, objTempWorksheet.UsedRange.Address)
objHTMLFile.Publish (True)
Set objOutlookApp = CreateObject("Outlook.Application")
Set objMail = objOutlookApp.CreateItem(olMailItem)
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFileSystem.OpenTextFile(strHTMLFile)
objMail.HTMLBody = objTextStream.ReadAll
'Change the email details as per your needs
With objMail
.To = "test@datanumen.com"
.Subject = objWorksheet.Name
.Display
End With
objTextStream.Close
objTempWorkbook.Close False
Kill strHTMLFile
Next
End Sub
- После этого вы можете запустить этот макрос, нажав клавишу F5 или щелкнув значок «Выполнить» на панели инструментов.
- Сразу же электронные письма, соответствующие всем листам в этой книге Excel, будут отображаться в Outlook.
- Наконец, вы можете повторно проверить все детали электронных писем и, наконец, нажать кнопку «Отправить», чтобы отправить электронные письма.
Примените мощный инструмент восстановления, если нет резервных копий
Все больше и больше пользователей понимают важность резервного копирования данных. Пока вы создали резервную копию файла PST, восстановление PST после повреждения будет совсем просто. Но если нет эффективной и актуальной резервной копии PST, у вас нет другого выбора, кроме как воспользоваться внешним инструментом восстановления PST, например DataNumen Outlook Repair. Он может легко восстановить скомпрометированные файлы PST.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить sql и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com
