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

  • Peter Holmes
  • 0
  • 3008
  • 94
Reklame

For at sende e-mails fra Microsoft Excel kræver det kun et par enkle scripts. Føj denne funktionalitet til dine regneark, og du kan virkelig forbedre, hvor meget du kan opnå i Excel.

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, Samarbejdsdataobjekter (CDO).

CDO er en meddelelseskomponent, der er brugt i Windows siden meget tidlige generationer af OS. Det kaldtes CDONTS, og derefter blev Windows 2000 og XP erstattet med “CDO til 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.

Klik på på inde i fanen Udvikler Indsæt i boksen Kontrol, og vælg derefter en kommandoknap.

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

Når du klikker på skab knappen åbner VBA-editoren.

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

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

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

Trin 2: Konfigurer CDO “Fra” og “Til” Felter

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, vil Fra og Til felter er påkrævet.

Dim CDO_Mail som objekt Dim CDO_Config Som objekt Dim SMTP_Config Som variant Dim strSubject Som streng Dim strFrom Som streng Dim strTo Som streng Dim strCc Som streng Dim strBcc Som streng Dim strBody Som streng strSubject = "Resultater fra Excel-regneark" strFrom = "rdube02 @ g .com "strTo =" [email protected] "strCc =" "strBcc =" "strBody =" De samlede resultater for dette kvartal er: "& 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 variabel.

Sammensæt dele af meddelelsen ved hjælp af & streng for 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.

Indstil CDO_Mail = CreateObject ("CDO.Message") Ved fejl GoTo Error_Handling Set CDO_Config = CreateObject ("CDO.Configuration") CDO_Config.Load -1 Sæt SMTP_Config = CDO_Config.Fields With SMTP_Config .Item (ID) .com / cdo / config / sendusing ") = 2 .Item (" http://schemas.microsoft.com/cdo/configuration/smtpserver ") =" smtp.gmail.com ".Item (" http: // schemas .microsoft.com / cdo /iguration / smtpauthenticate ") = 1 .Item (" http://schemas.microsoft.com/cdo/configuration/sendusername ") =" [email protected] ".Item (" http: / /schemas.microsoft.com/cdo/configuration/sendpassword ") =" kodeord ".Item (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25 .Item (" http: // schemas .microsoft.com / cdo /iguration / smtpusessl ") = Sandt. Opdater slut med CDO_Mail Set .Configuration = CDO_Config slutter med

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-objekt, og udstede Sende kommando.

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.Dscription "Then"

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 regneark.

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

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

Bemærk: Hvis du modtager en fejl, der læser Transporten kunne ikke oprette forbindelse til serveren, Sørg for, at du har indtastet det rigtige brugernavn, adgangskode, SMTP-server og portnummer i kodelinjerne, der er anført nedenfor 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. .

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 Projekt hierarki.

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

Indsæt e-mail-scriptet ovenfor i Privat underarbejdsbog_Åbn ().

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

Åbn derefter op 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.

Vælg Opret grundlæggende opgave ... fra Handling menu og arbejde dig igennem guiden, indtil du når Handling skærm.

Vælg Start et program og klik Næste.

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

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

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 tømmer papirkurven regelmæssigt Bin, det kunne spilder gigabyte plads på dit datadrev. Men nu kan Windows 10 tømme det automatisk på en tidsplan. i et par minutter i fremtiden og derefter ændre 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 det skal du åbne regnearket og navigere til Fil > Muligheder > Tillidscenter.

Herfra skal du klikke på Trust Center-indstillinger, og på næste skærm indstilles radioskiven til Vis aldrig 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 skrivning af 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. . Når du er færdig med det, føles dette enkle script til at sende e-mails fra Excel som børns leg.




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.