Pokud chcete poslat všechny listy v sešitu aplikace Excel jako samostatné e-maily aplikace Outlook, můžete použít metodu uvedenou v tomto článku. Může vás vést k tomu, abyste si to uvědomili hromadně, aniž byste rušili posílání jednoho po druhém.
V mém předchozím příspěvku „2 rychlé metody pro odeslání listu aplikace Excel jako e-mailu aplikace Outlook„, můžete se naučit dva způsoby, jak odeslat jeden list aplikace Excel jako e-mail. Pokud chcete hromadně odeslat všechny listy v jednom sešitu jako jednotlivé e-maily, použití kteréhokoli ze dvou způsobů uvedených v tomto příspěvku bude poměrně zdlouhavé a problematické. Proto si zde představíme další způsob, jakým lze takové „hromadné odeslání“ rychle realizovat.

Dávkové odesílání všech pracovních listů v jednom sešitu aplikace Excel jako samostatných e-mailů
- Na prvním místě byste měli otevřít zdrojový sešit aplikace Excel.
- Po vstupu do okna aplikace Excel byste měli klepnout na klávesové zkratky „Alt + F11“.
- Dále se zobrazí další okno s názvem „Microsoft Visual Basic pro aplikace“.
- V něm musíte otevřít nepoužívaný modul nebo vložit nový modul.
- Následně můžete do tohoto modulu zkopírovat následující kód 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
- Poté můžete toto makro spustit stisknutím klávesy F5 nebo kliknutím na ikonu „Spustit“ na panelu nástrojů.
- E-maily, které odpovídají všem listům v tomto sešitu aplikace Excel, se najednou zobrazí v Outlooku.
- Nakonec můžete znovu zkontrolovat všechny podrobnosti e-mailů a nakonec kliknutím na tlačítko „Odeslat“ e-maily odeslat.
Pokud neexistují žádné zálohy, použijte silný nástroj pro obnovení
Stále více uživatelů pochopilo důležitost zálohování dat. Pokud jste zálohovali soubor PST, Obnova PST po poškození bude docela jednoduché. Pokud ale neexistuje efektivní a aktuální záloha PST, nezbývá vám nic jiného, než využít externí nástroj pro opravu PST, jako je DataNumen Outlook Repair. Může opravit kompromitované soubory PST jako vánek.
Úvod autora:
Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně obnovit sql a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com
