Macro
Email versturen via Excel (ook als PDF)
Het is mogelijk om vanuit Excel een e-mail te versturen. Dit wordt hieronder uitgelegd op verschillende manieren, kies er een uit die handig is voor het gebruik van jouw wensen.
Emails versturen via Excel is alleen mogelijk als er ook Microsoft Office Outlook geïnstalleerd is. Wat eigenlijk logisch is omdat het beide Office programma’s zijn. Als afzender wordt je standaard email adres in Outlook gebruikt.
Vooraf is het handig om te weten hoe je het Ontwikkelaars tabblad krijgt en hoe je een macro toevoegt.
Email versturen
Als je een gewone email wilt versturen vanuit Excel dan kan je deze macro gebruiken.
Vergeet niet om in onderstaande code het e-mail adres te wijzigen!
Open de VBA editor, sneltoets ALT + F11, en maak daar een nieuwe Module aan. Plak daar de volgende code:Sub Email() Err.Number = 0 On Error Resume Next Set OutApp = GetObject(, "Outlook.Application") If Err.Number > 0 Then Set OutApp = CreateObject("Outlook.Application") Err.Clear End If On Error GoTo 0 OutApp.Session.Logon Set OutMail = OutApp.CreateItem(0) With OutMail .To = "info@excelweb.nl" .CC = "" .BCC = "" .Subject = "Verstuur email via Excel" .HTMLBody = "Het is gelukt" .Send End With Set OutMail = Nothing Set OutApp = Nothing End Sub
Werkblad als PDF meesturen
Open de VBA editor, sneltoets ALT + F11, en maak daar een nieuwe Module aan.
Plak daar de volgende code:
Vergeet ook hier niet om in onderstaande code het e-mail adres te wijzigen!
Sub PDFEmail() Pad = "Z:\VCB\Financiele administratie\Facturen\VCB\" For Each sh In ThisWorkbook.Sheets If sh.Name <> "Voorblad" Then If Dir(Pad & sh.Name & ".pdf") <> "" Then MsgBox "Het bestand: " & sh.Name & ".pdf bestaat reeds" Else sh.ExportAsFixedFormat 0, Pad & sh.Name, , , , , OpenAfterPublish:=False Err.Number = 0 On Error Resume Next Set OutApp = GetObject(, "Outlook.Application") If Err.Number > 0 Then Set OutApp = CreateObject("Outlook.Application") Err.Clear End If On Error GoTo 0 OutApp.Session.Logon Set OutMail = OutApp.CreateItem(0) With OutMail .To = "info@excelweb.nl" .CC = "" .BCC = "" .Subject = "Verstuur email via Excel" .HTMLBody = "Het is gelukt!" .Attachments.Add Pad & sh.Name & ".pdf" .Send End With Set OutMail = Nothing Set OutApp = Nothing End If End If Next sh End Sub
Vervolgens gaan we hier een ActiveX besturingselement voor aanmaken.
Ga op het lint naar het tabblad Ontwikkelaars, selecteer hier Invoegen en kies voor knop.
Koppel hier de zojuist aangemaakte module PDFEmail aan.
Verder lezen
