Het gebruik van VBA-scripts in Excel vereist geen programmeerkennis. VBA helpt u bij het uitvoeren van veel geavanceerde taken, zoals het maken van een spreadsheetrapport met alle pc-informatie, rechtstreeks vanuit een spreadsheet e-mailen ...
Om e-mail vanuit Microsoft Excel te verzenden, hebt u slechts een paar eenvoudige scripts nodig. Wees niet bang om deze functie aan uw spreadsheet toe te voegen als u het meeste uit Excel Office-software wilt halen .
E-mail vanuit Excel
Er zijn veel redenen waarom u e-mail rechtstreeks vanuit Microsoft Excel wilt verzenden. Uw werknemers werken bijvoorbeeld wekelijks documenten en spreadsheets bij en u wilt e-mailmeldingen ontvangen wanneer die actie is voltooid of soms wilt u alle contacten in dezelfde werkmap e-mailen. bij ...
U moet hebben gedacht aan het gebruik van een ingewikkeld e-mailscript voor Excel, maar het is eigenlijk heel eenvoudig. Dit artikel zal u helpen om te profiteren van een functie die al lang beschikbaar is in Excel VBA, genaamd Collaboration Data Objects (CDO) .

CDO is een berichtencomponent die vanaf de vroege versies in Windows wordt gebruikt. Het heette vroeger CDONTS. Nadat Windows 2000 & XP was geboren, verving "CDO voor Windows 2000" het. Dit onderdeel is opgenomen in de VBA-installatie in Microsoft Word of Excel en is op elk moment beschikbaar voor gebruik.
Het gebruik van dit onderdeel om te e-mailen in Windows-producten met VBA is uiterst eenvoudig. Dit artikel gebruikt bijvoorbeeld CDO in Excel om e-mails te verzenden die resultaten in één cel bevatten.
Stap 1: maak een VBA-macro
Ten eerste, Highlights Excel Developer > klik op Insert Table Controls , en selecteer vervolgens een opdracht knop.

Sleep het naar dit werkblad en maak vervolgens een nieuwe macro door op Macro's in het lint voor ontwikkelaars te klikken .

Wanneer u op de knop Maken klikt , wordt de VBA-editor geopend.
Voeg een verwijzing naar de CDO-bibliotheek toe door te navigeren naar Extra> Verwijzingen in de editor.

Blader door de lijst totdat u Microsoft CDO voor Windows 2000 Library ziet . Vink het selectievakje aan en klik op OK .

Wanneer u op OK klikt , noteert u de naam van de functie waar het script is geplakt, omdat u deze later nodig zult hebben.
Stap 2: Stel de CDO-velden "Van" en "Aan" in
Om dit te doen, moet u eerst e-mailgerelateerde objecten maken en alle vereiste velden voor e-mailbezorging instellen.
Onthoud dat veel velden wel of niet kunnen, maar From en To zijn verplicht.
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 = "Resultaten van Excel-spreadsheet"
strFrom = "[email protected]"
strTo = "[email protected]"
strCc = ""
strBcc = ""
strBody = "De totale resultaten voor dit kwartaal zijn:" & Str (Sheet1 .Cellen (2, 1))
Het interessante is dat je elke gewenste string kunt maken om het hele e-mailbericht aan te passen en het de strBody-variabele toe te wijzen.
De inhoud van een e-mailbericht samenvoegen met behulp van tekenreeksen & om gegevens uit een Microsoft Excel-spreadsheet rechtstreeks in de e-mail in te voegen (zoals hierboven weergegeven).
Stap 3: Configureer CDO om externe SMTP te gebruiken
Het volgende stuk code is waar u CDO configureert om een externe SMTP-server te gebruiken om e-mail te verzenden.
Dit voorbeeld stelt geen SSL in via Gmail, CDO kan SSL vervangen, maar valt buiten het bestek van dit artikel. Als je SSL moet gebruiken, kan de geavanceerde code in Github je helpen.
Set CDO_Mail = CreateObject ("CDO.Message")
bij fout GoTo Error_Handling
Set CDO_Config = CreateObject ("CDO.Configuration")
CDO_Config.Load -1
Stel SMTP_Config = CDO_Config.Fields in
Met 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 ") =" [email protected] "
.Item (" http://schemas.microsoft.com/cdo/configuration/sendpassword ") =" wachtwoord "
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpusessl ") = True.
Update
eindigen met
Met CDO_Mail
Set .Configuration = CDO_Config
End With
Stap 4: voltooi de installatie van CDO
U heeft nu uw SMTP-server geconfigureerd om e-mail te verzenden. Het enige wat u hoeft te doen is de juiste velden voor het CDO_Mail-object in te vullen en de opdracht Verzenden te geven .
Hier is hoe het te doen:
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 <> "" Dan MsgBox Err.Description
Geen van de pop-ups of beveiligingswaarschuwingen verschijnen zoals u gewoonlijk ziet wanneer u het e-mailobject van Outlook gebruikt.
CDO plaatst eenvoudig e-mailcomponenten naast elkaar en gebruikt serververbindingsdetails om het verzenden van informatie mogelijk te maken. Dit is de gemakkelijkste manier om e-mails te combineren in Microsoft Word- of Excel VBA-scripts.
Om een opdrachtknop aan dit script te koppelen, opent u de code-editor en klikt u op Blad1 om de VBA-code van het werkblad te zien.
Typ de naam van de functie waar u het bovenstaande script heeft geplakt.

Dit is de informatie die je in de inbox ontvangt.

Opmerking : als u de foutmelding krijgt dat het transport geen verbinding kon maken met de server , zorg er dan voor dat u de juiste gebruikersnaam, wachtwoord, SMTP-server en poortnummer hebt ingevoerd in de coderegel vermeld bij With SMTP_Config .
Verbeter en automatiseer het hele proces
Het verzenden van e-mails vanuit Excel met één knop is echt veilig en gemakkelijk. Als u deze functie vaak wilt gebruiken, kunt u deze automatiseren.
Om dit te doen, moet u de macro wijzigen. Ga naar de Visual Basic Editor, kopieer en plak de volledige verzamelde code. Selecteer vervolgens ThisWorkbook van hiërarchie Project .
Selecteer Werkmap in de twee vervolgkeuzevelden boven aan het codevenster en klik op Openen in het menu Methoden . Plak het e-mailscript hierboven in Private Sub Workbook_Open () . Met deze actie wordt de macro uitgevoerd wanneer u het Excel-bestand opent.

Open vervolgens Taakplanner . U zult deze tool gebruiken om Windows te vragen om op gezette tijden automatisch spreadsheets te openen. Op dat moment wordt uw macro geactiveerd en gemaild.

Selecteer Basistaak maken ... in het menu Actie en volg de instructies totdat u het actiescherm bereikt.
Selecteer Start een programma en klik op Volgende .

Gebruik de knop Bladeren om de locatie van Microsoft Excel op de computer te vinden of kopieer en plak het pad in het veld Programma / script .
Voer vervolgens het pad naar het Microsoft Excel-document in het veld Argumenten toevoegen in .
Volledige instructies en planning die u wordt gemaakt.
U moet deze functie testen door de actie in de komende paar minuten in te plannen en vervolgens de taak te herzien nadat u ziet dat deze effectief werkt.
Opmerking : mogelijk moet u de instellingen van het Vertrouwenscentrum aanpassen om ervoor te zorgen dat de macro als volgt werkt:
Open de spreadsheet en ga naar Bestand> Opties> Vertrouwenscentrum .
Klik hier op Instellingen Vertrouwenscentrum . Selecteer in het volgende scherm Nooit informatie weergeven over geblokkeerde inhoud .
Microsoft Excel is een buitengewoon krachtige tool, maar het leren gebruiken ervan kan voor velen soms een uitdaging zijn. Als je deze software onder de knie wilt hebben, moet je weten hoe je VBA moet gebruiken. Dat is niet makkelijk.
Met een beetje VBA-ervaring kunt u echter basistaken op Microsoft Excel automatiseren en meer tijd besteden aan belangrijkere taken.
Ik hoop dat het artikel nuttig voor je is. Ik wens je veel succes!