Kako pošiljati e -pošto iz Excelove preglednice z uporabo skriptov VBA

Kako pošiljati e -pošto iz Excelove preglednice z uporabo skriptov VBA

Za pošiljanje e -poštnih sporočil iz programa Microsoft Excel potrebujete le nekaj preprostih skriptov. Dodajte to funkcijo v svoje preglednice in resnično lahko izboljšate, koliko lahko dosežete v Excelu.





Opisali smo veliko odličnih makrov Excel, ki lahko dosežejo iste stvari kot skripti VBA, vendar brez znanja programiranja. Z VBA pa lahko storite veliko naprednih stvari, na primer ustvarjanje poročila preglednice z vsemi podatki o računalniku.





Raje gledate to vadnico kot video? Pokrili smo vas!



Zakaj pošiljati e -pošto iz Excela?

Obstaja veliko razlogov, zakaj bi morda želeli poslati e -poštno sporočilo iz programa Microsoft Excel.

Morda imate zaposlene, ki tedensko posodabljajo dokumente ali preglednice in bi radi po e -pošti prejeli obvestilo, kdaj so te posodobitve končane. Ali pa imate preglednico stikov in želite poslati eno e -poštno sporočilo vsem hkrati.



Verjetno mislite, da bo skriptiranje oddaje po e -pošti iz Excela zapleteno. To sploh ni tako.

Tehnika v tem članku bo uporabila funkcijo, ki je že dolgo na voljo v Excelu VBA, Predmeti podatkov o sodelovanju (CDO).





CDO je komponenta za pošiljanje sporočil, ki se uporablja v sistemu Windows že od prvih generacij operacijskega sistema. Včasih se je imenoval CDONTS, nato pa so s prihodom Windows 2000 in XP zamenjali z 'CDO za Windows 2000'. Ta komponenta je že vključena v vašo namestitev VBA v programu Microsoft Word ali Excel in je pripravljena za uporabo.

Uporaba komponente olajša pošiljanje e -pošte iz izdelkov Windows z VBA. V tem primeru boste komponento CDO v Excelu poslali za pošiljanje e -poštnega sporočila, ki bo dostavilo rezultate iz določene celice Excel.





1. korak: Ustvarite makro VBA

Prvi korak je, da odprete zavihek Excel Developer.

Na zavihku Razvijalec kliknite Vstavi v polju Controls in nato izberite ukazni gumb.

Narišite ga na list in nato s klikom nanj ustvarite nov makro Makri na traku za razvijalce.

Ko kliknete na Ustvari gumb, se odpre urejevalnik VBA.

Sklic na knjižnico CDO dodajte tako, da se pomaknete do Orodja > Reference v uredniku.

Pomaknite se navzdol po seznamu, dokler ne najdete Knjižnica Microsoft CDO za Windows 2000 . Označite potrditveno polje in kliknite v redu .

Ko kliknete v redu , zabeležite ime funkcije, v katero prilepite skript. Potrebovali ga boste kasneje.

2. korak: Nastavite polja »Od« in »Do« CDO

Če želite to narediti, morate najprej ustvariti poštne objekte in nastaviti vsa polja, ki so potrebna za pošiljanje e -pošte.

Upoštevajte, da so številna polja neobvezna, vendar Od in Za polja so obvezna.

pretvorite rokopis v brezplačno programsko opremo za besedilo
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))

Lepa stvar pri tem je, da lahko ustvarite kateri koli niz, ki ga želite prilagoditi, in ga dodelite datoteki strBody spremenljivka.

Sestavite sestavine sporočila s pomočjo & string za vstavljanje podatkov iz katerega koli lista Microsoft Excel neposredno v e -poštno sporočilo, tako kot je prikazano zgoraj.

3. korak: Konfigurirajte CDO za uporabo zunanjega SMTP

Naslednji del kode je, kjer boste CDO konfigurirali za uporabo katerega koli zunanjega strežnika SMTP za pošiljanje e -pošte.

Ta primer je nastavitev, ki ni SSL, prek Gmaila. CDO je sposoben SSL, vendar to ni v obsegu tega članka. Če morate uporabljati SSL, to napredna koda v Githubu lahko pomagam.

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

4. korak: Dokončajte nastavitev CDO

Zdaj, ko ste konfigurirali povezavo s strežnikom SMTP za pošiljanje e -pošte, morate le izpolniti ustrezna polja za Objekt CDO_Mail in izdajte Pošlji ukaz.

Evo, kako to storite:

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

Pojavnih oken ali varnostnih opozorilnih sporočil ne bo, kar se lahko zgodi, ko uporabite poštni objekt Outlook.

CDO preprosto sestavi e -pošto in uporabi podatke o povezavi s strežnikom SMTP, da sproži sporočilo. To je najlažji način za vključitev e -pošte v skripte Microsoft Word ali Excel VBA.

Če želite ukazni gumb povezati s tem skriptom, pojdite v urejevalnik kod in kliknite na List1 za ogled kode VBA za ta delovni list.

Vnesite ime funkcije, kamor ste prilepili zgornji skript.

kako sinhroniziram svoje e -poštne račune

Takole je izgledalo sporočilo, ki sem ga prejel v mapo »Prejeto«:

Opomba : Če prejmete napako, ki se glasi Transport se ni uspel povezati s strežnikom , se prepričajte, da ste v spodnje vrstice kode vnesli pravilno uporabniško ime, geslo, strežnik SMTP in številko vrat S SMTP_Config .

Nadaljujte in avtomatizirajte celoten proces

Vse je v redu, če lahko pošiljate e -pošto iz Excela s pritiskom na gumb. Vendar boste morda želeli redno uporabljati to funkcijo, v tem primeru bi bilo smiselno avtomatizirati postopek.

Če želite to narediti, morate spremeniti makro. Pojdite v urejevalnik Visual Basic in kopirajte in prilepite celotno kodo, ki smo jo sestavili.

Nato izberite Ta delovni zvezek Iz Projekt hierarhijo.

V dveh spustnih poljih na vrhu okna za kodo izberite Delovni zvezek in izberite Odprto s spustnega menija Metode.

Zgoraj prilepite skript za e -pošto Private Sub Workbook_Open () .

To bo zagnalo makro vsakič, ko odprete datoteko Excel.

Nato odprite Načrtovalnik opravil .

S tem orodjem boste Windows prosili, naj samodejno odpre preglednico v rednih časovnih presledkih, nato pa se bo zagnal vaš makro in poslal e -poštno sporočilo.

Izberite Ustvari osnovno opravilo ... Iz Dejanje meni in se pomaknite skozi čarovnika, dokler ne pridete do Dejanje zaslon.

Izberite Zaženite program in kliknite Naslednji .

Uporabi Brskanje , da poiščete lokacijo programa Microsoft Excel v računalniku ali pa kopirate in prilepite pot v datoteko Program/skript polje.

Nato vnesite pot do dokumenta Microsoft Excel v datoteko Dodajte argumente polje.

Izpolnite čarovnika in razpored bo na mestu.

Vredno je izvesti preizkus, tako da dejanje v prihodnosti načrtujete za nekaj minut, nato pa nalogo spremenite, ko potrdite, da deluje.

Opomba : Morda boste morali prilagoditi nastavitve centra zaupanja, da zagotovite pravilno delovanje makra.

To storite tako, da odprete preglednico in se pomaknete do mapa > Opcije > Center zaupanja .

Od tu kliknite Nastavitve centra zaupanja , in na naslednjem zaslonu nastavite radijski gumb na Nikoli ne prikazujte podatkov o blokirani vsebini .

Naj Microsoft Excel dela za vas

Microsoft Excel je neverjetno močno orodje, vendar je učenje, kako iz njega kar najbolje izkoristiti, lahko nekoliko zastrašujoče. Če želite resnično obvladati programsko opremo, morate biti udobno z VBA , in to ni majhna naloga.

izklop zaslona brez gumba za vklop

Vendar pa rezultati govorijo sami zase. Z malo izkušnjami z VBA boste kmalu lahko Microsoft Excel samodejno opravljali naloge, kar vam bo dalo več časa, da se osredotočite na pereče zadeve.

Za pridobivanje strokovnega znanja z VBA je potreben čas, vendar boste kmalu videli sadove svojega dela, če se tega lahko držite.

Odlično mesto za začetek je naš avtoritativni vadnica o uporabi VBA v Excelu . Ko končate s tem, se bo ta preprost skript za pošiljanje e -pošte iz Excela počutil kot otroška igra.

Deliti Deliti Cvrkutati E-naslov Canon proti Nikon: katera znamka fotoaparata je boljša?

Canon in Nikon sta dve največji imeni v industriji fotoaparatov. Toda katera blagovna znamka ponuja boljšo ponudbo fotoaparatov in objektivov?

Preberite Naprej
Sorodne teme
  • Produktivnost
  • Programiranje
  • Nasveti po e -pošti
  • Programiranje
  • Visual Basic programiranje
  • Microsoft Excel
  • Nasveti za Microsoft Office
O avtorju Ryan Dube(942 objavljenih člankov)

Ryan je diplomiral iz elektrotehnike. 13 let je delal na področju avtomatizacije, 5 let na področju IT, zdaj pa je inženir aplikacij. Nekdanji glavni urednik MakeUseOfa je govoril na nacionalnih konferencah o vizualizaciji podatkov in je bil predstavljen na nacionalni televiziji in radiu.

Več od Ryana Dubeja

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite