Als u alle werkbladen in een Excel-werkmap als afzonderlijke Outlook-e-mails wilt verzenden, kunt u de methode gebruiken die in dit artikel is geïntroduceerd. Het kan u begeleiden om het in bulk te realiseren zonder problemen een voor een te verzenden.
In mijn vorige bericht “2 snelle methoden om een Excel-werkblad als een Outlook-e-mail te verzendenIn het artikel "" kunt u twee manieren leren om één Excel-werkblad per e-mail te verzenden. Als u echter alle werkbladen in één werkmap als afzonderlijke e-mails wilt verzenden, is het gebruik van een van de twee in dat artikel genoemde methoden nogal omslachtig en lastig. Daarom introduceren we hier een andere manier waarmee u dergelijke "batchverzendingen" snel kunt realiseren.

Batch Verzend alle werkbladen in één Excel-werkmap als afzonderlijke e-mails
- In de eerste plaats moet u de Excel-bronwerkmap openen.
- Vervolgens, nadat u het Excel-venster hebt geopend, moet u op de sneltoetsen "Alt + F11" tikken.
- Vervolgens wordt een ander venster met de naam "Microsoft Visual Basic for Applications" weergegeven.
- Daarin moet u een ongebruikte module openen of een nieuwe module invoegen.
- Vervolgens kunt u de volgende VBA-code naar deze module kopiëren.
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
- Daarna kunt u deze macro activeren door op de F5-toets te drukken of door op het pictogram "Uitvoeren" in de werkbalk te klikken.
- De e-mails, die overeenkomen met alle werkbladen in deze Excel-werkmap, worden meteen in Outlook weergegeven.
- Ten slotte kunt u alle e-mailgegevens opnieuw controleren en tenslotte op de knop "Verzenden" klikken om de e-mails te verzenden.
Pas een krachtig herstelprogramma toe als er geen back-ups zijn
Steeds meer gebruikers hebben het belang van gegevensback-ups ingezien. Zolang je een back-up hebt gemaakt van je PST-bestand, PST-herstel na schade zal vrij eenvoudig zijn. Maar als er geen effectieve en up-to-date PST-back-up is, heeft u geen andere keus dan hulp te gebruiken van een externe PST-reparatietool, zoals DataNumen Outlook Repair Het kan gecompromitteerde PST-bestanden repareren als een makkie.
Auteur Introductie:
Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder herstel sql en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com
