E-mails verzenden vanuit een Excel-spreadsheet met behulp van VBA-scripts
Advertentie
E-mails verzenden 5 manieren om professionele e-mails te schrijven die tijd en moeite besparen 5 manieren om professionele e-mails te schrijven die tijd en moeite besparen Het is een vaardigheid om te weten hoe u professionele e-mails kunt schrijven die tijd besparen en antwoorden krijgen. Laat deze e-mailsjablonen u helpen. Meer lezen van Microsoft Excel vereist slechts een paar eenvoudige scripts. Voeg deze functionaliteit toe aan uw spreadsheets en u kunt echt verbeteren hoeveel u kunt bereiken in Excel.
Ontgrendel nu het cheatsheet "Essentiële Excel-formules"!
Hiermee meld je je aan voor onze nieuwsbrief
Voer uw e-mailontgrendeling in Lees ons privacybeleidWe hebben veel geweldige Excel-macro's behandeld, die dezelfde dingen kunnen bereiken die VBA-scripts kunnen, maar zonder de noodzaak van programmeerkennis. Maar er zijn veel geavanceerde dingen die u alleen met VBA kunt doen, zoals het maken van een spreadsheetrapport met al uw pc-informatie.
Bekijk je deze tutorial liever als een video? We hebben u gedekt!
Waarom e-mail verzenden vanuit Excel?
Er zijn veel redenen waarom u een e-mail wilt verzenden vanuit Microsoft Excel.
Misschien hebt u personeel dat documenten of spreadsheets wekelijks bijwerkt en wilt u een e-mailmelding ontvangen wanneer die updates zijn voltooid. Of misschien heb je een spreadsheet met contacten en wil je ze allemaal één e-mail sturen.
Je denkt waarschijnlijk dat het schrijven van een e-mailuitzending vanuit Excel ingewikkeld zal zijn. Dat is helemaal niet het geval.
De techniek in dit artikel maakt gebruik van een functie die al lang beschikbaar is in Excel VBA, Collaboration Data Objects (CDO).
CDO is een berichtencomponent die in Windows wordt gebruikt sinds zeer vroege generaties van het besturingssysteem. Vroeger heette het CDONTS en daarna werd het met de komst van Windows 2000 en XP vervangen door "CDO voor Windows 2000". Dit onderdeel is al opgenomen in uw VBA-installatie in Microsoft Word of Excel en is klaar voor gebruik.
Het gebruik van de component maakt het verzenden van e-mails vanuit Windows-producten met VBA uiterst eenvoudig. In dit voorbeeld gebruikt u de CDO-component in Excel om een e-mail te verzenden die de resultaten van een specifieke Excel-cel levert.
Stap 1: Maak een VBA-macro
De eerste stap is om naar het tabblad Excel-ontwikkelaar te gaan.
Klik op het tabblad Ontwikkelaars op Invoegen in het vak Besturing en selecteer vervolgens een opdrachtknop.
Teken het in het blad en maak er een nieuwe macro voor door op Macro's te klikken in het lint Ontwikkelaar.
Wanneer u op de knop Maken klikt, wordt de VBA-editor geopend.
Voeg de referentie toe aan de CDO-bibliotheek door naar Extra > Verwijzingen in de editor te navigeren.
Blader door de lijst totdat u Microsoft CDO voor Windows 2000 Library vindt . Schakel het selectievakje in en klik op OK .
Wanneer u op OK klikt, noteert u de naam van de functie waar u het script plakt. Je hebt het later nodig.
Stap 2: Stel de CDO-velden “Van” en “Aan” in
Hiervoor moet u eerst de e-mailobjecten maken en alle velden instellen die nodig zijn om de e-mail te verzenden.
Houd er rekening mee dat hoewel veel van de velden optioneel zijn, de velden Van en Naar verplicht zijn.
Dim CDO_Mail As Object Dim CDO_Config As Object Dim SMTP_Config As Variant Dim strSubject As String Dim strFrom As String Dim strTo As String Dim strCc As String Dim strBcc As String Dim strBody As String strSubject = "Results from Excel Spreadsheet" strFrom = " " strTo = " " strCc = "" strBcc = "" strBody = "The total results for this quarter are: " & Str(Sheet1.Cells(2, 1))
Het leuke hiervan is dat je elke string kunt maken die je wilt, een volledig e-mailbericht aanpassen en toewijzen aan de variabele strBody .
Voeg onderdelen van het bericht samen door de & string te gebruiken om gegevens uit een van de Microsoft Excel-bladen rechtstreeks in het e-mailbericht in te voegen, zoals hierboven weergegeven.
Stap 3: Configureer CDO om een externe SMTP te gebruiken
Het volgende gedeelte van de code is waar u CDO configureert om een externe SMTP-server te gebruiken om de e-mail te verzenden.
Dit voorbeeld is een niet-SSL-configuratie via Gmail. CDO kan SSL gebruiken, maar dat valt buiten het bestek van dit artikel. Als u SSL moet gebruiken, kan deze geavanceerde code in Github helpen.
Set CDO_Mail = CreateObject("CDO.Message") On Error GoTo Error_Handling Set CDO_Config = CreateObject("CDO.Configuration") CDO_Config.Load -1 Set SMTP_Config = CDO_Config.Fields With SMTP_Config .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = " " .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With With CDO_Mail Set .Configuration = CDO_Config End With
Stap 4: Voltooi de CDO-instellingen
Nu u de verbinding met de SMTP-server hebt geconfigureerd voor het verzenden van de e-mail, hoeft u alleen de juiste velden voor het CDO_Mail-object in te vullen en de opdracht Verzenden te geven .
Hier is hoe je dat doet:
CDO_Mail.Subject = strSubject CDO_Mail.From = strFrom CDO_Mail.To = strTo CDO_Mail.TextBody = strBody CDO_Mail.CC = strCc CDO_Mail.BCC = strBcc CDO_Mail.Send Error_Handling: If Err.Description "" Then MsgBox Err.Description
Er zijn geen pop-upvakken of beveiligingswaarschuwingen, wat kan gebeuren als u het Outlook-mailobject gebruikt.
CDO stelt eenvoudig de e-mail samen en gebruikt de verbindingsgegevens van uw SMTP-server om het bericht af te vuren. Het is de eenvoudigste manier om e-mail in Microsoft Word of Excel VBA-scripts op te nemen.
Om uw opdrachtknop aan dit script te verbinden, gaat u naar de code-editor en klikt u op Blad1 om de VBA-code voor dat werkblad te bekijken.
Typ de naam van de functie waar u het bovenstaande script hebt geplakt.
Zo zag het bericht eruit dat ik in mijn inbox ontving:
Opmerking : Als u een foutmelding krijgt met de melding dat het transport geen verbinding kon maken met de server, controleer dan of u de juiste gebruikersnaam, wachtwoord, SMTP-server en poortnummer hebt ingevoerd in de coderegels die hieronder worden vermeld met SMTP_Config .
Ga verder en automatiseer het hele proces
Het is allemaal goed en wel om met één druk op de knop e-mail vanuit Excel te kunnen verzenden. Mogelijk wilt u deze functionaliteit echter regelmatig gebruiken, in welk geval het zinvol is om het proces te automatiseren 5 bronnen voor Excel-macro's om uw spreadsheets te automatiseren 5 bronnen voor Excel-macro's om uw spreadsheets te automatiseren Zoeken naar Excel-macro's? Hier zijn vijf sites die hebben wat u zoekt. Lees verder .
Om dit te doen, moet u de macro wijzigen. Ga naar de Visual Basic Editor en kopieer en plak de volledige code die we hebben samengesteld.
Selecteer vervolgens ThisWorkbook in de projecthiërarchie.
Selecteer Werkmap in de twee vervolgkeuzelijsten bovenaan het codevenster en selecteer Openen in de vervolgkeuzelijst Methoden.
Plak het e-mailscript hierboven in Private Sub Workbook_Open () .
Hiermee wordt de macro uitgevoerd wanneer u het Excel-bestand opent.
Open vervolgens Taakplanner .
U gaat deze tool gebruiken om Windows te vragen om de spreadsheet automatisch op gezette tijden te openen, waarna uw macro wordt gestart en de e-mail wordt verzonden.
Selecteer Create Basic Task… in het Action- menu en werk je een weg door de wizard tot je bij het Action- scherm komt.
Selecteer Een programma starten en klik op Volgende .
Gebruik de knop Bladeren om de locatie van Microsoft Excel op uw computer te vinden of kopieer en plak het pad in het veld Programma / script .
Voer vervolgens het pad naar uw Microsoft Excel-document in het veld Argumenten toevoegen in.
Voltooi de wizard en uw planning is klaar.
Het is de moeite waard om een test uit te voeren door de actie te plannen De Prullenbak automatisch leegmaken volgens een schema en verspilde ruimte vrij te maken De Prullenbak automatisch leegmaken volgens een schema en Verspilde ruimte vrij te maken Als u niet regelmatig de Prullenbak leegmaakt Bin, het kan gigabytes aan ruimte op je datastation verspillen. Maar nu kan Windows 10 het automatisch volgens een schema legen. Lees in de toekomst enkele minuten meer en wijzig vervolgens de taak zodra u kunt bevestigen dat deze werkt.
Opmerking : mogelijk moet u uw Trust Center-instellingen aanpassen om ervoor te zorgen dat de macro correct wordt uitgevoerd.
Open hiervoor de spreadsheet en ga naar Bestand > Opties > Vertrouwenscentrum .
Klik hier op Instellingen Vertrouwenscentrum en stel in het volgende scherm de radioknop in op Nooit informatie weergeven over geblokkeerde inhoud .
Laat Microsoft Excel voor u werken
Microsoft Excel is een ongelooflijk krachtige tool, maar leren hoe u er het meeste uit kunt halen, kan een beetje intimiderend zijn. Als je de software echt wilt beheersen, moet je vertrouwd zijn met VBA, en dat is geen kleine taak.
De resultaten spreken echter voor zich. Met een beetje VBA-ervaring op zak, kun je Microsoft Excel binnenkort basistaken automatisch laten uitvoeren, waardoor je meer tijd hebt om je te concentreren op meer dringende zaken.
Het kost tijd om expertise op te bouwen met VBA, maar je zult snel de vruchten van je werk zien als je het kunt volhouden.
Een geweldige plek om te beginnen is onze gezaghebbende zelfstudie over het gebruik van VBA in Excel Een beginnershandleiding over het schrijven van VBA-macro's in Excel (en waarom u zou moeten leren) Een beginnershandleiding over het schrijven van VBA-macro's in Excel (en waarom u zou moeten leren) Als u Excel gebruikt regelmatig is het de moeite waard om te leren hoe VBA-macro's te maken en toegang te krijgen tot veel meer functies en mogelijkheden. Lees verder . Als je daarmee klaar bent, zal dit eenvoudige script om e-mails te verzenden vanuit Excel als kinderspel aanvoelen.
Ontdek meer over: e-mailtips, Microsoft Excel, Microsoft Office-tips, programmeren, Visual Basic-programmering.