Wenn Sie alle Arbeitsblätter in einer Excel-Arbeitsmappe als separate Outlook-E-Mails versenden möchten, können Sie die in diesem Artikel vorgestellte Methode verwenden. Es kann Ihnen helfen, es in großen Mengen zu realisieren, ohne mühsam einzeln zu senden.
In meinem vorherigen Beitrag „2 Schnelle Methoden zum Senden eines Excel-Arbeitsblatts als Outlook-E-MailIn diesem Beitrag erfahren Sie, wie Sie ein einzelnes Excel-Arbeitsblatt per E-Mail versenden können. Wenn Sie jedoch alle Arbeitsblätter einer Arbeitsmappe als einzelne E-Mails verschicken möchten, ist die Verwendung der beiden genannten Methoden recht umständlich. Daher stellen wir Ihnen hier eine weitere Möglichkeit vor, mit der Sie solche Stapelverarbeitungen schnell und einfach durchführen können.

Stapelversand aller Arbeitsblätter in einer Excel-Arbeitsmappe als separate E-Mails
- Zunächst sollten Sie die Excel-Quellarbeitsmappe öffnen.
- Nach dem Aufrufen des Excel-Fensters sollten Sie dann auf die Tastenkombinationen „Alt + F11“ tippen.
- Als nächstes wird ein weiteres Fenster mit dem Namen „Microsoft Visual Basic for Applications“ angezeigt.
- Darin müssen Sie ein unbenutztes Modul öffnen oder ein neues Modul einfügen.
- Anschließend können Sie den folgenden VBA-Code in dieses Modul kopieren.
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
- Danach können Sie dieses Makro auslösen, indem Sie die Taste F5 drücken oder auf das Symbol "Ausführen" in der Symbolleiste klicken.
- Sofort werden die E-Mails, die allen Arbeitsblättern in dieser Excel-Arbeitsmappe entsprechen, in Outlook angezeigt.
- Schließlich können Sie alle Details der E-Mails erneut überprüfen und zuletzt auf die Schaltfläche "Senden" klicken, um die E-Mails zu versenden.
Wenden Sie ein wirksames Wiederherstellungstool an, wenn keine Backups vorhanden sind
Immer mehr Benutzer haben die Bedeutung von Datensicherungen erkannt. Solange Sie Ihre PST-Datei gesichert haben, PST-Wiederherstellung nach schaden wird ganz einfach sein. Wenn es jedoch kein effektives und aktuelles PST-Backup gibt, haben Sie keine andere Wahl, als ein externes PST-Reparaturtool wie z DataNumen Outlook Repair. Es kann kompromittierte PST-Dateien wie ein Kinderspiel reparieren.
Einführung des Autors:
Shirley Zhang ist eine Datenrettungsexpertin in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich SQL wiederherstellen und Outlook-Reparatursoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX
