Ако искате да изпратите всички работни листове в работна книга на Excel като отделни имейли на Outlook, можете да използвате метода, представен в тази статия. Тя може да ви насочи да го реализирате групово, без да изпращате много проблеми един по един.
В предишната ми публикация „2 бързи метода за изпращане на работен лист на Excel като имейл в Outlook„, можете да научите два начина за изпращане на един работен лист на Excel като имейл. Ако искате да изпратите групово всички работни листове в една работна книга като отделни имейли, използването на който и да е от двата начина, споменати в тази публикация, ще бъде доста досадно и обезпокоително. Затова тук ще ви представим друг начин, който може да реализира такова „групово изпращане“ за бързо време.

Групово изпращане на всички работни листове в една работна книга на Excel като отделни имейли
- На първо място, трябва да отворите изходната работна книга на Excel.
- След това, след като влезете в прозореца на Excel, трябва да докоснете клавишните комбинации „Alt + F11“.
- След това ще се покаже друг прозорец, наречен „Microsoft Visual Basic for Applications“.
- В него трябва да отворите неизползван модул или да поставите нов модул.
- Впоследствие можете да копирате следния 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 или щракнете върху иконата „Run“ в лентата с инструменти.
- Имейлите, които съответстват на всички работни листове в тази работна книга на Excel, веднага ще се покажат в Outlook.
- И накрая, можете да проверите отново всички данни за имейлите и накрая да кликнете върху бутона „Изпрати“, за да изпратите имейлите.
Приложете мощен инструмент за възстановяване, ако няма резервни копия
Все повече потребители разбират важността на архивирането на данни. Докато сте архивирали вашия PST файл, Възстановяване на PST след повреда ще бъде съвсем проста. Но ако няма ефективно и актуално архивиране на PST, нямате друг избор, освен да се възползвате от външен инструмент за ремонт на PST, като DataNumen Outlook Repair. Той може да поправи компрометирани PST файлове като бриз.
Въведение на автора:
Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително възстанови sql и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com
