Якщо ви хочете надіслати всі аркуші в книзі Excel як окремі електронні листи Outlook, ви можете скористатися методом, представленим у цій статті. Це допоможе вам реалізувати це оптом, не надсилаючи один за одним.
У моєму попередньому дописі «2 Швидкі методи надсилання аркуша Excel як електронного листа Outlook«, ви можете дізнатися про два способи надсилання одного аркуша Excel електронною поштою. Якщо ви хочете пакетно надіслати всі аркуші в одній книзі як окремі електронні листи, використання будь-якого з двох способів, згаданих у цій публікації, буде досить нудним і складним. Тому тут ми представимо ще один спосіб, який може швидко реалізувати таке «пакетне надсилання».

Пакетне надсилання всіх аркушів в одній книзі 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 та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com
