
William Charles
0
4269
904
Za slanje e-poruka iz Microsoft Excel-a potrebno je samo nekoliko jednostavnih skripti. Dodajte ovu funkcionalnost u svoje proračunske tablice i stvarno možete poboljšati koliko možete postići u Excelu.
Pokrili smo puno sjajnih Excelovih makronaredbi koje mogu ostvariti iste stvari koje VBA skripte mogu, ali bez potrebe za znanjem programiranja. No postoje mnoge napredne stvari koje možete učiniti samo s VBA, poput izrade izvještaja s proračunskim tablicama sa svim podacima na računalu.
Želite li gledati ovaj tutorial kao video? Pokrili smo vas!
Zašto slati e-poštu iz Excela?
Postoji mnogo razloga zbog kojih možda želite poslati e-poštu iz Microsofta Excel-a.
Možda imate osoblje koje ažurira dokumente ili proračunske tablice na tjednoj osnovi i želite primiti obavijest e-poštom o tim promjenama. Možda imate proračunsku tablicu kontakata i želite svima poslati istodobno e-poštu.
Vjerojatno mislite da će pisanje e-pošte koja se emitira iz Excela biti komplicirano. To uopće nije slučaj.
Tehnika u ovom članku koristit će značajku koja je u programu Excel VBA dostupna već duže vrijeme, Objekti podataka o suradnji (CDO).
CDO je poruka koja se koristi u sustavu Windows još od ranih generacija OS-a. Nekada se zvao CDONTS, a onda je s pojavom Windows 2000 i XP zamijenjen s “CDO za Windows 2000”. Ova komponenta već je uključena u vašu VBA instalaciju u programu Microsoft Word ili Excel i spremna je za upotrebu.
Upotreba komponente olakšava slanje e-poruka unutar Windows proizvoda s VBA. U ovom primjeru, pomoću CDO komponente u Excelu ćete poslati e-poštu koja će dostaviti rezultate iz određene Excel ćelije.
1. korak: Kreirajte VBA makronaredbu
Prvi korak je odlazak na karticu Excel Developer.
Unutar kartice Developer kliknite na Umetnuti u polju Kontrole, a zatim odaberite naredbeni gumb.
Nacrtajte ga u list, a zatim klikom na gumb izradite novi makronaredbu Makro u vrpci za programere.
Kada kliknete na Stvoriti gumb, otvorit će se VBA uređivač.
Dodavanjem reference na CDO biblioteku idite na alat > Reference u uredniku.
Pomičite se niz popis dok ne pronađete Microsoft CDO za biblioteku Windows 2000. Označite potvrdni okvir i kliknite u redu.
Kada kliknete u redu, zabilježite ime funkcije u koju zalijepite skriptu. Trebat će vam kasnije.
Korak 2: Postavljanje CDO-a “Iz” i “Do” polja
Da biste to učinili, prvo morate stvoriti predmete pošte i postaviti sva polja koja su potrebna za slanje e-pošte.
Imajte na umu da, iako su mnoga polja neobavezna, Iz i Do polja su obavezna.
Dim CDO_Mail kao objekt Dim CDO_Config kao objekt Dim SMTP_Config kao varijanta Dim strSubject kao string string Dim strFrom kao string string Dim strTo kao string string Dim strCc kao string string Dim strBcc As String Dim strBody As String strSubject = "Rezultati iz Excel Spreadsheet" strFrom = "rdu @ gdu .com "strTo =" [email protected] "strCc =" "strBcc =" "strBody =" Ukupni rezultati za ovo tromjesečje su: "& Str (Sheet1.Cells (2, 1))
Super stvar u tome je što možete stvoriti bilo koji niz koji želite prilagoditi cijelu poruku e-pošte i dodijeliti je strBody varijabla.
Sastavite dijelove poruke koristeći & niz za umetanje podataka s bilo kojeg od Microsoftovih listova Excel izravno u poruku e-pošte, baš kao što je prikazano gore.
Korak 3: Konfigurirajte CDO za upotrebu vanjskog SMTP-a
Sljedeći je odjeljak koda gdje ćete konfigurirati CDO za korištenje bilo kojeg vanjskog SMTP poslužitelja za slanje e-pošte.
Ovaj je primjer postavljanje koje nije SSL putem Gmaila. CDO je sposoban za SSL, ali to je izvan dosega ovog članka. Ako trebate koristiti SSL, ovaj napredni kod u Githubu može vam pomoći.
Postavljanje CDO_Mail = CreateObject ("CDO.Message") Na pogrešku GoTo Error_Handling Set CDO_Config = CreateObject ("CDO.Configuration") CDO_Config.Load -1 Postavi SMTP_Config = CDO_Config.Fields with SMTP_Cconfig. .com / cdo / konfiguracija / sendusing ") = 2 .Item (" http://schemas.microsoft.com/cdo/configuration/smtpserver ") =" smtp.gmail.com ".Item (" http: // sheme .microsoft.com / cdo / configuration / smtpauthenticate ") = 1 .Item (" http://schemas.microsoft.com/cdo/configuration/sendusername ") =" [email protected] ".Item (" http: / /schemas.microsoft.com/cdo/configuration/sendpassword ") =" lozinka ".Item (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25 .Item (" http: // sheme .microsoft.com / cdo / configuration / smtpusessl ") = Istina. Ažurirajte kraj sa Seto CDO_Mail .Configuration = CDO_Config End with
Korak 4: Dovršite postavljanje CDO-a
Sada kada ste konfigurirali vezu na SMTP poslužitelj za slanje e-pošte, sve što morate učiniti je ispuniti odgovarajuća polja za CDO_Mail objekt, i izdati Poslati naredba.
Evo kako to postižete:
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
Neće biti skočnih prozora ili poruka upozorenja o sigurnosti, što se može dogoditi kada pribjegnete korištenju Outlook objekta e-pošte.
CDO jednostavno sastavlja e-poštu i koristi vaše detalje o SMTP poslužitelju kako bi otpustio poruku. To je najlakši način za uključivanje e-pošte u skripte Microsoft Word ili Excel VBA.
Da biste naredbenu tipku povezali s ovom skriptu, uđite u uređivač koda i kliknite na Sheet1 za prikaz VBA koda za taj radni list.
Upišite naziv funkcije na koju ste zalijepili gornju skriptu.
Evo kako je izgledala poruka koju sam dobila u pristigloj pošti:
Bilješka: Ako primite pogrešku koja glasi Prijevoz se nije uspio povezati s poslužiteljem, Obavezno upišite ispravno korisničko ime, lozinku, SMTP poslužitelj i broj priključka u redima koda navedenim ispod Sa SMTP_Config.
Uzmi dalje i automatizirajte cijeli proces
Sve je u redu i moguće je slati e-poštu iz Excela jednim pritiskom na gumb. Međutim, možda biste htjeli redovito koristiti ovu funkciju, u kojem bi slučaju imalo smisla automatizirati proces. 5 Resursi za Excel makronarede za automatizaciju proračunskih tablica 5 Resursi za Excel makrone za automatizaciju proračunskih tablica Traženje makronaredbi Excel? Evo pet web mjesta koja imaju ono što tražite. .
Da biste to učinili, morat ćete izvršiti promjenu u makronaredbi. Otvorite Visual Basic Editor i kopirajte i zalijepite cjelinu koda koji smo sastavili.
Zatim odaberite ThisWorkbook od Projekt hijerarhija.
Iz dva padajuća polja na vrhu prozora koda odaberite zbirka zadataka i odaberite Otvorena iz padajućeg izbornika Metode.
Zalijepite gornju skriptu e-pošte u Privatna sub radna knjiga_Otvori ().
Ovo će pokrenuti makronaredbu svaki put kada otvorite Excel datoteku.
Zatim otvorite Planer zadataka.
Pomoću ovog alata tražit ćete od Windows-a da automatski otvori proračunsku tablicu u pravilnim intervalima, u kojem će se trenutku vaš makronaredba pokrenuti i poslati e-poštu.
Odaberi Stvori osnovni zadatak… od Radnja izbornika i prolazite kroz čarobnjaka dok ne dođete do Radnja zaslon.
Odaberi Pokrenite program i kliknite Sljedeći.
Koristiti pretraživati gumb za pronalaženje lokacije Microsoft Excel na vašem računalu ili kopirajte i zalijepite put u Program / skripta polje.
Zatim unesite put do svog Microsoft Excel dokumenta u Dodajte argumente polje.
Dovršite čarobnjaka i vaš će raspored biti na mjestu.
Vrijedno je pokrenuti test zakazivanjem akcije Kako automatsko isprazniti kantu za otpatke prema rasporedu i osloboditi izgubljeni prostor Kako automatski prazniti koš za smeće na rasporedu i osloboditi izgubljeni prostor ako redovito ne ispraznite otpad. Koš, ovo može trošiti gigabajte prostora na podatkovnom pogonu. Ali sada ga Windows 10 može automatski isprazniti prema rasporedu. nekoliko minuta ubuduće, a zatim mijenjate zadatak nakon što potvrdite da djeluje.
Bilješka: Možda ćete morati prilagoditi postavke Centra za pouzdanost kako biste osigurali da se makronaredba ispravno izvodi.
Da biste to učinili, otvorite proračunsku tablicu i idite na Datoteka > Opcije > Povjerljivi centar.
Odavde kliknite Postavke centra za pouzdanje, a na sljedećem ekranu postavite radio biranje na Nikada ne prikazujte podatke o blokiranom sadržaju.
Neka Microsoft Excel radi za vas
Microsoft Excel nevjerojatno je moćan alat, ali učenje kako izvući maksimum iz njega može biti pomalo zastrašujuće. Ako želite doista ovladati softverom, morat ćete se složiti s VBA, a to nije mali zadatak.
Međutim, rezultati govore sami za sebe. S malo iskustva s VBA ispod vašeg pojasa, uskoro ćete moći učiniti da Microsoft Excel automatski obavlja osnovne zadatke, dajući vam više vremena za koncentraciju na goruće stvari.
Potrebno je vrijeme za izgradnju stručnosti s VBA-om, ali uskoro ćete vidjeti plodove svojih rada ako se možete držati toga.
Odlično mjesto za početak je naš autoritativni vodič o korištenju VBA u Excelu. Vodič za početnike o pisanju VBA makronaredbi u Excelu (i zašto biste trebali učiti) Vodič za početnike o pisanju VBA makronaredbi u Excelu (i zašto biste trebali učiti) Ako koristite Excel redovito, vrijedi naučiti kako stvoriti VBA makronaredbe i dobiti pristup mnogim drugim funkcijama i mogućnostima. , Jednom kada završite s tim, ova jednostavna skripta za slanje e-poruka iz Excela smatrat će se dječjom igrom.