Jeśli chcesz wysłać wszystkie arkusze w skoroszycie programu Excel jako osobne wiadomości e-mail programu Outlook, możesz skorzystać z metody przedstawionej w tym artykule. Może poprowadzić Cię do zrealizowania tego masowo bez kłopotliwego wysyłania jednego po drugim.
W moim poprzednim poście „2 Szybkie metody wysyłania arkusza programu Excel jako wiadomości e-mail programu Outlook”, możesz poznać dwa sposoby wysyłania jednego arkusza kalkulacyjnego Excela jako e-maila. Jeśli chcesz wysłać zbiorczo wszystkie arkusze kalkulacyjne z jednego skoroszytu jako osobne e-maile, użycie któregokolwiek z dwóch sposobów wymienionych w tym poście będzie dość żmudne i kłopotliwe. Dlatego tutaj przedstawimy inny sposób, który pozwoli szybko zrealizować takie „wysyłanie zbiorcze”.

Wyślij wsadowo wszystkie arkusze w jednym skoroszycie programu Excel jako osobne wiadomości e-mail
- W pierwszej kolejności należy otworzyć źródłowy skoroszyt programu Excel.
- Następnie po wejściu do okna programu Excel należy nacisnąć skrót klawiszowy „Alt + F11”.
- Następnie pojawi się kolejne okno o nazwie „Microsoft Visual Basic for Applications”.
- W nim należy otworzyć nieużywany moduł lub włożyć nowy moduł.
- Następnie możesz skopiować następujący kod VBA do tego modułu.
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
- Następnie możesz uruchomić to makro, naciskając przycisk klawisza F5 lub klikając ikonę „Uruchom” na pasku narzędzi.
- Od razu wiadomości e-mail odpowiadające wszystkim arkuszom w tym skoroszycie programu Excel zostaną wyświetlone w programie Outlook.
- Na koniec możesz ponownie sprawdzić wszystkie szczegóły wiadomości e-mail i na koniec kliknąć przycisk „Wyślij”, aby wysłać wiadomości e-mail.
Zastosuj potężne narzędzie do odzyskiwania, jeśli nie ma kopii zapasowych
Coraz więcej użytkowników rozumie znaczenie tworzenia kopii zapasowych danych. Tak długo, jak wykonałeś kopię zapasową pliku PST, Odzyskiwanie PST po uszkodzeniu będzie dość proste. Ale jeśli nie ma skutecznej i aktualnej kopii zapasowej PST, nie masz innego wyjścia, jak tylko skorzystać z zewnętrznego narzędzia do naprawy PST, takiego jak DataNumen Outlook Repair. Może naprawić skompromitowane pliki PST jak bryza.
Wprowadzenie autora:
Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym odzyskać sql i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com
