Vores kodeskabelon hjælper dig med at opsætte automatiserede e-mails fra Excel ved hjælp af CDO (Collaboration Data Objects) og VBA-scripts.

Sådan sendes e-mails fra et Excel-regneark ved hjælp af VBA-scripts

Reklame Sådan sender du e-mails 5 måder at skrive professionelle e-mails, der sparer tid og kræfter 5 måder at skrive professionelle e-mails, der sparer tid og kræfter Det er en færdighed at vide, hvordan man skriver professionelle e-mails, der sparer tid og får svar. Lad disse e-mailsskabeloner hjælpe dig. Læs me

Reklame

Sådan sender du e-mails 5 måder at skrive professionelle e-mails, der sparer tid og kræfter 5 måder at skrive professionelle e-mails, der sparer tid og kræfter Det er en færdighed at vide, hvordan man skriver professionelle e-mails, der sparer tid og får svar. Lad disse e-mailsskabeloner hjælpe dig. Læs mere fra Microsoft Excel kræver kun et par enkle scripts. Føj denne funktionalitet til dine regneark, og du kan virkelig forbedre, hvor meget du kan opnå i Excel.

Lås op for snydarket "Væsentlige Excel-formler"!

Dette vil tilmelde dig vores nyhedsbrev

Angiv din oplåsning af e-mail Læs vores privatlivspolitik

Vi har dækket en masse gode Excel-makroer, som kan udføre de samme ting, som VBA-scripter kan, men uden behov for programmeringskendskab. Men der er mange avancerede ting, du kun kan gøre med VBA, som at oprette en regnearkrapport med alle dine pc-oplysninger.

Foretrækker du at se denne tutorial som en video? Vi har dig dækket!

Hvorfor sende e-mail fra Excel?

Der er mange grunde til, at du måske ønsker at sende en e-mail fra Microsoft Excel.

Måske har du personale, der opdaterer dokumenter eller regneark hver uge, og du gerne vil modtage en e-mail-meddelelse om, hvornår disse opdateringer er udført. Eller du har måske et regneark med kontakter, og du vil sende en e-mail til dem alle på én gang.

Du tænker sandsynligvis, at scripting af en e-mail, der udsendes fra Excel, vil blive kompliceret. Det er slet ikke tilfældet.

Teknikken i denne artikel vil gøre brug af en funktion, der har været tilgængelig i Excel VBA i lang tid, Collaboration Data Objects (CDO).

samarbejdsdataobjekter (CDO) i Excel

CDO er en meddelelseskomponent, der er brugt i Windows siden meget tidlige generationer af OS. Det kaldes CDONTS, og derefter med Windows 2000 og XP, blev det erstattet med “CDO for Windows 2000”. Denne komponent er allerede inkluderet i din VBA-installation i Microsoft Word eller Excel og er klar til brug.

Brug af komponenten gør det nemt at sende e-mails fra Windows-produkter med VBA. I dette eksempel bruger du CDO-komponenten i Excel til at sende en e-mail, der leverer resultaterne fra en bestemt Excel-celle.

Trin 1: Opret en VBA-makro

Det første trin er at gå til fanen Excel Developer.

Inde i fanen Udvikler skal du klikke på Indsæt i boksen Kontrol, og vælg derefter en kommandoknap.

tilføjelse af knap i excel

Tegn det ind i arket, og opret derefter en ny makro til det ved at klikke på makroer i båndet til udvikleren.

tilføj makro til kommandoknap

Når du klikker på knappen Opret, åbner den VBA-editoren.

Tilføj referencen til CDO-biblioteket ved at navigere til Værktøjer > Referencer i redigeringsprogrammet.

tilføje referencer i Excel

Rul ned på listen, indtil du finder Microsoft CDO til Windows 2000-bibliotek . Marker afkrydsningsfeltet, og klik på OK .

tilføje cdo til windows reference

Når du klikker på OK, skal du notere navnet på den funktion, hvor du indsætter scriptet. Du har brug for det senere.

Trin 2: Konfigurer CDO-felterne “Fra” og “Til”

For at gøre dette skal du først oprette mail-objekter og opsætte alle de felter, der er nødvendige for at sende e-mailen.

Husk, at selvom mange af felterne er valgfri, er Fra og Til- felterne påkrævet.

 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)) 

Den seje ting ved dette er, at du kan oprette en hvilken som helst streng, du vil tilpasse en fuld e-mail-besked og tildele den til strBody- variablen.

Sammensæt dele af meddelelsen ved hjælp af & -strengen til at indsætte data fra et hvilket som helst af Microsoft Excel-ark lige i e-mail-meddelelsen, ligesom vist ovenfor.

Trin 3: Konfigurer CDO til at bruge en ekstern SMTP

Det næste afsnit af koden er, hvor du konfigurerer CDO til at bruge en ekstern SMTP-server til at sende e-mailen.

Dette eksempel er en ikke-SSL-opsætning via Gmail. CDO er i stand til SSL, men det er uden for denne artikels rækkevidde. Hvis du har brug for at bruge SSL, kan denne avancerede kode i Github hjælpe.

 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 

Trin 4: Færdiggør CDO-opsætningen

Nu, hvor du har konfigureret forbindelsen til SMTP-serveren til at sende e-mailen, skal du blot udfylde de relevante felter til CDO_Mail-objektet og udstede kommandoen Send .

Sådan gør du:

 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 

Der er ikke nogen pop-up-bokse eller sikkerhedsadvarselsmeddelelser, som kan ske, når du tager til brug af Outlook-mail-objektet.

CDO samler blot e-mailen og bruger dine SMTP-serverforbindelsesdetaljer til at afbryde beskeden. Det er den nemmeste måde at integrere e-mail i Microsoft Word eller Excel VBA-scripts.

For at forbinde din kommandoknap til dette script skal du gå ind i kodeditoren og klikke på Ark1 for at se VBA-koden for det pågældende regneark.

Skriv navnet på den funktion, hvor du indsatte scriptet ovenfor.

tilslut kommandoknap til script

Sådan så meddelelsen ud, som jeg modtog i min indbakke:

excel e-mail modtaget

Bemærk : Hvis du modtager en fejl, der læser Transporten kunne ikke oprette forbindelse til serveren, skal du sørge for, at du har indtastet det rigtige brugernavn, adgangskode, SMTP-server og portnummer i linjerne med kode, der er anført under Med SMTP_Config .

Tag det videre og automatiser hele processen

Det er alt sammen godt og godt at kunne sende e-mail fra Excel med et tryk på en knap. Det kan dog være en god idé at bruge denne funktionalitet regelmæssigt, i hvilket tilfælde det ville være fornuftigt at automatisere processen 5 Ressourcer til Excel-makroer til at automatisere dine regneark 5 Ressourcer til Excel-makroer til at automatisere dine regneark Søger efter Excel-makroer? Her er fem steder, der har det, du leder efter. Læs mere .

For at gøre det skal du foretage en ændring af makroen. Gå til Visual Basic Editor og kopier og indsæt hele koden, vi har sat sammen.

Vælg derefter ThisWorkbook fra projekthierarkiet .

Vælg Arbejdsbog fra de to dropdown-felter øverst i kodevinduet og vælg Åbn i rullemenuen Metoder.

Indsæt e-mail-scriptet ovenfor i Private Sub Workbook_Open () .

Dette kører makroen, når du åbner Excel-filen.

Indsæt e-mail-scriptet

Åbn derefter Opgaveplanlægning .

Du vil bruge dette værktøj til at bede Windows om at åbne regnearket automatisk med regelmæssige intervaller, på hvilket tidspunkt din makro vil blive initieret og sende e-mailen.

oprette grundlæggende opgave i opgaveplanlægning

Vælg Opret grundlæggende opgave ... i menuen Handling, og arbejd dig vej gennem guiden, indtil du kommer til skærmen Handling .

Vælg Start et program, og klik på Næste .

vælg programopgaveplanlægning

Brug knappen Gennemse til at finde Microsoft Excels placering på din computer, eller kopier og indsæt stien i feltet Program / script .

Indtast derefter stien til dit Microsoft Excel-dokument i feltet Tilføj argumenter .

Fuldfør guiden, og din planlægning vil være på plads.

Det er værd at køre en test ved at planlægge handlingen Sådan tømmes papirkurven automatisk på et skema og frigør spildt rum Sådan tømmes papirkurven automatisk på et skema og frigør spildt rum Hvis du ikke regelmæssigt tømmer papirkurven Bin, det kunne spilder gigabyte plads på dit datadrev. Men nu kan Windows 10 tømme det automatisk på en tidsplan. Læs mere et par minutter i fremtiden, og ændre derefter opgaven, når du kan bekræfte, at den fungerer.

Bemærk : Du skal muligvis justere dine Trust Center-indstillinger for at sikre, at makroen kører korrekt.

For at gøre dette skal du åbne regnearket og navigere til Fil > Indstillinger > Tillidscenter .

Herfra skal du klikke på Trust Center Settings, og indstille radioskiven på det næste skærmbillede til aldrig at vise oplysninger om blokeret indhold .

Få Microsoft Excel til at arbejde for dig

Microsoft Excel er et utroligt kraftfuldt værktøj, men at lære at få mest muligt ud af det kan være lidt skræmmende. Hvis du virkelig vil mestre softwaren, skal du være komfortabel med VBA, og det er ingen lille opgave.

Resultaterne taler dog for sig selv. Med en lille VBA-oplevelse under dit bælte kan du snart få Microsoft Excel til at udføre basale opgaver automatisk, hvilket giver dig mere tid til at koncentrere dig om mere presserende anliggender.

Det tager tid at opbygge ekspertise med VBA, men du vil snart se frugterne af dine arbejde, hvis du kan holde fast ved det.

Et godt sted at starte er vores autoritative tutorial om brug af VBA i Excel En begyndervejledning til at skrive VBA-makroer i Excel (og hvorfor du skulle lære) En begyndertutorial om at skrive VBA-makroer i Excel (og hvorfor du bør lære), hvis du bruger Excel regelmæssigt er det værd at lære at oprette VBA-makroer og få adgang til mange flere funktioner og muligheder. Læs mere . Når du er færdig med det, føles dette enkle script til at sende e-mails fra Excel som børns leg.

Udforsk mere om: Tips til e-mail, Microsoft Excel, Microsoft Office-tip, programmering, Visual Basic-programmering.