Kako slati e -poštu iz Excel proračunske tablice pomoću VBA skripti

Kako slati e -poštu iz Excel proračunske tablice pomoću VBA skripti

Za slanje e -pošte iz programa Microsoft Excel potrebno je samo nekoliko jednostavnih skripti. Dodajte ovu funkcionalnost u svoje proračunske tablice i zaista možete poboljšati koliko možete postići u Excelu.





Pokrili smo mnogo izvrsnih makronaredbi programa Excel koje mogu postići iste stvari kao i VBA skripte, ali bez potrebe za programerskim znanjem. No, postoje mnoge napredne stvari koje možete učiniti samo s VBA -om, poput stvaranja izvješća proračunske tablice sa svim podacima o računalu.





Radije gledate ovaj vodič kao video zapis? Pokrili smo vas!





Zašto slati e -poštu iz programa Excel?

Postoji mnogo razloga zašto biste mogli poslati e -poruku iz programa Microsoft Excel.

Možda imate osoblje koje ažurira dokumente ili proračunske tablice tjedno, a željeli biste primiti obavijest e -poštom kada se ta ažuriranja završe. Ili možda imate proračunsku tablicu kontakata i želite poslati svima jednu poruku e -pošte.



Vjerojatno mislite da će skriptiranje emisije e -pošte iz Excela biti komplicirano. To uopće nije slučaj.

Tehnika u ovom članku će koristiti značajku koja je već dugo dostupna u programu Excel VBA, Objekti podataka o suradnji (CDO).





CDO je komponenta za razmjenu poruka koja se koristi u sustavu Windows od vrlo ranih generacija OS -a. Nekada se zvao CDONTS, a zatim je pojavom Windows 2000 i XP zamijenjen sa 'CDO za Windows 2000'. Ova je komponenta već uključena u vašu VBA instalaciju unutar programa Microsoft Word ili Excel i spremna je za uporabu.

Korištenje komponente čini slanje e -pošte iz Windows proizvoda s VBA iznimno jednostavnim. U ovom primjeru upotrijebit ćete CDO komponentu u Excelu za slanje e -pošte koja će dostaviti rezultate iz određene Excel ćelije.





Korak 1: Izradite VBA makronaredbu

Prvi korak je otići na karticu Excel Developer.

Unutar kartice Developer kliknite na Umetnuti u okviru Kontrole, a zatim odaberite naredbeni gumb.

Nacrtajte ga u list, a zatim stvorite novi makro za njega klikom na Makronaredbe na vrpci za programere.

Kada kliknete na Stvoriti gumb, otvorit će se VBA editor.

Dodajte referencu u biblioteku CDO navigacijom na Alati > Reference u uredniku.

Pomaknite se prema dolje po popisu dok ne pronađete Microsoft CDO za knjižnicu Windows 2000 . Označite potvrdni okvir i kliknite u redu .

Kad kliknete u redu , zabilježite naziv funkcije na koju lijepite skriptu. Trebat će vam kasnije.

Korak 2: Postavite CDO polja 'Od' i 'Do'

Da biste to učinili, najprije morate izraditi objekte pošte i postaviti sva polja potrebna za slanje e -pošte.

Imajte na umu da, iako su mnoga polja izborna, Iz i Do polja su obavezna.

kako skinuti četke na potomstvo
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 = 'rdube02@gmail.com'
strTo = 'rdube02@gmail.com'
strCc = ''
strBcc = ''
strBody = 'The total results for this quarter are: ' & Str(Sheet1.Cells(2, 1))

Zgodna stvar u vezi s ovim je to što možete stvoriti bilo koji niz koji želite prilagoditi cijelu poruku e -pošte i dodijeliti je strTjelo promjenjiva.

Sastavite komponente poruke pomoću & string za umetanje podataka s bilo kojeg od listova programa Microsoft Excel izravno u poruku e -pošte, baš kao što je prikazano gore.

Korak 3: Konfigurirajte CDO za korištenje vanjskog SMTP -a

Sljedeći odjeljak koda je mjesto gdje ćete konfigurirati CDO za korištenje bilo kojeg vanjskog SMTP poslužitelja za slanje e -pošte.

Ovaj primjer je postavljanje koje nije SSL putem Gmaila. CDO je sposoban za SSL, ali to je izvan opsega ovog članka. Ako trebate koristiti SSL, ovo napredni kod u Githubu mogu pomoći.

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') = 'email@website.com'
.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

Korak 4: Dovršite postavljanje CDO -a

Sada kada ste konfigurirali vezu sa SMTP poslužiteljem za slanje e -pošte, sve što trebate učiniti je ispuniti odgovarajuća polja za Objekt CDO_Mail , i izdati Poslati naredba.

Evo kako to radite:

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

Neće biti nikakvih skočnih okvira niti poruka sigurnosnih upozorenja, što se može dogoditi ako pribjegnete korištenju Outlook e-mail objekta.

CDO jednostavno sastavlja e -poštu i koristi podatke o vezi s vašim SMTP poslužiteljem za otpuštanje poruke. To je najjednostavniji način za uključivanje e -pošte u Microsoft Word ili Excel VBA skripte.

Da biste svoj naredbeni gumb povezali s ovom skriptom, idite u uređivač koda i kliknite na List 1 za prikaz VBA koda za taj radni list.

Upišite naziv funkcije na koju ste gore zalijepili skriptu.

najbolji način da pronađete nekoga na internetu

Evo kako je izgledala poruka koju sam primio u pristiglu poštu:

Bilješka : Ako primite pogrešku koja glasi Transport se nije uspio povezati s poslužiteljem , provjerite jeste li unijeli ispravno korisničko ime, lozinku, SMTP poslužitelj i broj porta u redove koda koji su navedeni ispod Sa SMTP_Config .

Nastavite dalje i automatizirajte cijeli proces

Sve je u redu s mogućnošću slanja e -pošte iz programa Excel pritiskom na gumb. Međutim, možda biste željeli redovito koristiti ovu funkciju, u tom slučaju ima smisla automatizirati proces.

Da biste to učinili, morate promijeniti makro. Idite u uređivač Visual Basic i kopirajte i zalijepite cijeli kôd koji smo sastavili.

Zatim odaberite Ova radna knjiga od Projekt hijerarhija.

Iz dva padajuća polja pri vrhu prozora koda odaberite Radna bilježnica i odaberite Otvorena s padajućeg izbornika Metode.

Zalijepite gornju skriptu e -pošte u Privatna pomoćna radna knjiga_Open () .

Ovo će pokrenuti makronaredbu svaki put kada otvorite Excel datoteku.

Zatim otvorite Planer zadataka .

Pomoću ovog alata zamolit ćete Windows da automatski otvara proračunsku tablicu u redovitim intervalima, kada će se pokrenuti vaša makronaredba i poslati e -poruku.

Odaberi Izradi osnovni zadatak ... od Akcijski izbornika i prolazite kroz čarobnjak dok ne dođete do Akcijski zaslon.

Odaberi Pokrenite program i kliknite Sljedeći .

Koristiti pretraživati gumb za pronalaženje lokacije programa Microsoft Excel na vašem računalu ili kopirajte i zalijepite putanju u Program/skripta polje.

Zatim unesite put do vašeg Microsoft Excel dokumenta u Dodajte argumente polje.

Dovršite čarobnjaka i vaše će zakazivanje biti na mjestu.

Vrijedi pokrenuti test tako što ćete zakazati radnju za nekoliko minuta u budućnosti, a zatim izmijeniti zadatak nakon što potvrdite da radi.

Bilješka : Možda ćete morati prilagoditi postavke centra za pouzdanost kako biste bili sigurni da se makronaredba pravilno izvodi.

Da biste to učinili, otvorite proračunsku tablicu i idite na Datoteka > Opcije > Centar za povjerenje .

Odavde kliknite Postavke centra za povjerenje , a na sljedećem ekranu postavite radio birač na Nikada nemojte prikazivati ​​podatke o blokiranom sadržaju .

Neka Microsoft Excel radi za vas

Microsoft Excel nevjerojatno je moćan alat, ali naučiti kako izvući maksimum iz njega može biti pomalo zastrašujuće. Ako želite doista ovladati softverom, morate to i biti ugodno s VBA , a to nije mali zadatak.

kako napraviti video zapis reakcije na youtube -u

Međutim, rezultati govore sami za sebe. Uz malo VBA iskustva, uskoro ćete moći natjerati Microsoft Excel da automatski izvršava osnovne zadatke, dajući vam više vremena za koncentraciju na hitnije stvari.

Za stjecanje stručnosti s VBA -om potrebno je vrijeme, ali uskoro ćete vidjeti plodove svog rada ako se toga možete pridržavati.

Jedno veliko mjesto za početak je naš mjerodavan vodič za korištenje VBA u Excelu . Nakon što to učinite, ova jednostavna skripta za slanje e -pošte iz programa Excel osjećat će se kao dječja igra.

Udio Udio Cvrkut E -pošta Canon protiv Nikona: Koja je marka fotoaparata bolja?

Canon i Nikon dva su najveća imena u industriji fotoaparata. No, koja marka nudi bolju liniju fotoaparata i objektiva?

Pročitajte Dalje
Povezane teme
  • Produktivnost
  • Programiranje
  • Savjeti za e -poštu
  • Programiranje
  • Visual Basic programiranje
  • Microsoft Excel
  • Savjeti za Microsoft Office
O autoru Ryan Dube(942 objavljenih članaka)

Ryan ima diplomu elektrotehnike. Radio je 13 godina u automatizaciji, 5 godina u IT -u, a sada je inženjer aplikacija. Bivši glavni urednik MakeUseOfa, govorio je na nacionalnim konferencijama o vizualizaciji podataka, a bio je i na nacionalnoj televiziji i radiju.

Više od Ryana Dubea

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu