Kuidas saata hulgi e -kirju Excel VBA -st ühe klõpsuga Excelis

Lang L: none (table-of-contents)

Kas teil on kunagi olnud vajadus saata e -kirju Excel VBA -lt mitmele Exceli lehel esitatud e -posti aadressile? Kas soovite õppida, kuidas Excelist kirju ilma Outlooki avamata saata? Selles artiklis käsitletakse Outlooki automatiseerimist ja Exceli manustega mitme e -kirja saatmist ühe klõpsuga, hoides inimesi ka koopias ja pimekoopias.

Lõpuks saate ka faili alla laadida, et saata mehed kohe sadadele ID -dele. Fail sisaldab makro, et saata Excelist e -kirju.

Kuidas Excelist kirju saata?
Excelist e -kirjade saatmiseks peate mõistma neid VBA -katkeid.

Tähtis: Teil peab olema Outlooki rakenduses konfigureeritud e -post.

VB redaktori avamiseks vajutage klahvi F11.

  • Lisage viide Outlooki objektide kogule:
      • Minge menüüs Tööriistad ja klõpsake nuppu Viited.

    • Otsige üles Microsofti 16.0 objektide kogu. Versioon võib olla erinev. Excelis on see 16.0. Märkige see. Ja klõpsake nuppu OK.

    • Looge Outlooki rakenduse ja e -posti viited: Nüüd, et pääseda juurde Microsoft Outlooki funktsioonidele, peame looma selle objekti.
Dim outApp nagu Outlook.Application 'See loob viite Outlooki objektile. Dim outApp nagu Outlook.MailItem 'See loob viite MailItemile. 
    • Vormistage viited: Ülaltoodud viited tuleb lähtestada:
Set outApp = Uus Outlook.Application Set outMail = outApp.CreateItem (0)
    • Kirja saatmine objekti outMail abil: allpool olevad read määravad sihtmärgi e -posti aadressi, cc, bcc, teema, body, manuse ja saatmise käsu.
OutMail .To = "abcd.mail.com" 'Kohustuslik. Siin saate määrata sihtkoha e -posti aadressi… cc = "cc.mail.com" 'valikuline. Cc -posti ID, kui soovite… BCC = "bcc.mail.com" 'valikuline. Pimekoopia e -posti aadress, kui soovite … Teema = subj 'peaks olema. Massaaž posti kehale … Keha = sõnum 'vabatahtlik. Massaaž postitusele… Lisad. Lisage "C: /exceltip.com \ test.xlsx" 'valikuline. Täielikult manustatud manuse nimi… Saada 'Kohustuslik, kui soovite Excelist kirju saata. Kui soovite näha kirju Outlookis, kasutage .Display meetodit. Lõpeta 

See on kõik. See on kõik, mida vajate Excelist e -kirjade saatmiseks VBA abil.

Vaatame nüüd näidet, mis saadab kirjad igale Exceli veeru e -posti ID -le eraldi.

Stsenaarium:
Kujutage ette, et teile antakse Exceli leht, mis sisaldab 100 e -posti ID -d ja peate saatma e -kirja igale e -posti ID -le eraldi. Lisaks sellele peate lisama ka esemeid. Kui teete seda käsitsi, kulub teil tunde. Nii et automatiseerime selle postitusülesande Excel VBA -s.

Siin on mul need andmed. Veerus C pealkirjaga „Saada kiri” on mitu e -posti ID -d. Pean saatma meili igale selle veeru e -posti ID -le.
Selleks olen loonud veerud Subject, Massage body, CC ja BCC.

Väljal „Saada kiri” ei tohiks olla tühja lahtrit. Kõigil muudel veergudel võivad olla tühjad lahtrid. Kui sa tahad
mitu e -posti aadressi et seejärel kirjutage need e -posti aadressid komaga sellesse veergu. Veenduge, et e -posti aadressid oleksid kehtivad.

Kui soovite manuseid saata. Kirjutage nende failide aadressid manuste veergu.

Kirjutage teema veergu Teema.

Massaaž Massage Body veerus.

Kui soovite kedagi cc -s hoida, kirjutage tema e -posti ID veergu CC. Sama BCC puhul. kasutage mitme e -posti aadressi jaoks koma.

Nüüd saate e -kirjade saatmiseks veergu igale e -posti ID -le neid samme.

  • Excelis VBA redaktori avamiseks vajutage klahve Alt+F11.
  • Lisage viide Outlooki objektile, järgides varem kirjeldatud samme.
  • Kopeerige uues moodulis allolev kood.
"*** Teil peab olema Outlooki meilisüsteem teie Outlooki rakenduses konfigureeritud ***" *** lisage tööriistades olevatest viidetest outooki objektiteeki viide *** Sub BulkMail () Application.ScreenUpdating = False ThisWorkbook.Activate ' Viidete loomine rakenduse ja MailItem objektidele Outlookis Dim outApp As Outlook.Application Dim outMail As Outlook.MailItem 'Muutuja loomine erinevate postituste väärtuste hoidmiseks Dim sendTo, subj, atchmnt, msg, ccTo, bccTo As String Dim lstRow nii kaua "Minu andmed on lehel" Exceltip.com ", kus teil võib olla mis tahes lehe nimi. ThisWorkbook.Sheets ("Exceltip.com"). Aktiveerige veeru 3. e -posti aadressi viimase rea saamine. LstRow = Lahtrid (Rows.Count, 3) .End (xlUp) .Row 'Muutuja kõigi e -posti aadresside hoidmiseks Dim rng As Range Set rng = Range ("C2: C" & lstRow) 'Outlooki objekti initsialiseerimine selle funktsioonidele juurdepääsuks „Korda kordamist iga rea ​​kaudu, hoidke e -posti andmeid muutujate sees ja saatke” kirju igale e -posti ID -le. Iga lahtri jaoks rng sendTo = Vahemik (lahter.Aadress) .Väljas (0, 0) .Väärtus 2 subj = Vahemik (lahter.Aadress) .Väljas (0, 1) .Väärtus 2 ja "-MS" msg = Vahemik (lahter. Aadress). Nihe (0, 2) .Väärtus 2 atchmnt = Vahemik (lahter. Aadress). Väljas (0, -1). Väärtus 2 ccTo = Vahemik (lahter. Aadress). Nihe (0, 3). Väärtus 2 bccTo = Vahemik ( cell.Address). Offset (0, 4). Value2 On Error Resume Next ', et anda alltoodud objekti loomisel tõrge Set outMail = outApp.CreateItem (0)' Kirjade kirjutamine ja saatmine uues kirjas .cc = cc Kui soovite enne saatmist näha kirja ', kasutage .Display meetodit. Lõpeta sisselülitamise tõrkega GoTo 0 'Vigade kõrvaldamiseks, mis on varem salvestatud Set outMail = Nothing', mis tühistab järgmise posti meilivälise objekti Next cell 'loop lõpetab cleanup:' vabastades kõik loodud objektid Set outApp = Nothing Application.ScreenUpdating = True Application.ScreenUpdating = True End Sub 

Ülaltoodud kood saadab e -kirju igale e -posti ID -le veerus „e -posti saatmine”. Selle koodi käivitamiseks saate selle otse siit käivitada. Või saate oma töövihikusse lisada kujundi või nupu ja seejärel määrata selle objekti jaoks selle makro. Kasutan kujundeid nende kohandatavuse tõttu. Selleks järgige alltoodud samme.

    • Minge vahekaardile Lisa.
    • Grupist Illustratsioon leiate kujundeid, klõpsake oma lemmikkuju.

    • Lohistage see oma lehele.
    • Kui soovite, kaunistage.
    • Paremklõpsake seda. Klõpsake käsku Määra makro.

    • Valige loendist BulkMail makro.

  • Väljuge redigeerimisrežiimist.

Nüüd, kui klõpsate sellel objektil, käivitatakse teie makro ja saadetakse meile. Kontrollige saadetud kirju, et veenduda.
Siit saate alla laadida Exceli e -posti saatja faili.

Saatke hulgimeile Excel VBA -st ühe klõpsuga

Jagage Exceli leht mitmeks failiks VBA abil | Töölehe mitmeks failiks jagamiseks peate veeru väärtuste põhjal selle filtreerima, kopeerides ja kleepides selle uude faili.

Andmete filtreerimine Excelis VBA abil | Andmete filtreerimine VBA abil on lihtne. Need lihtsad koodiridad filtreerivad andmed etteantud kriteeriumide järgi.

Hoiatusteadete väljalülitamine Microsoft Excel 2016 VBA abil | Mitmete ülesannete täitmisel, näiteks failide avamisel ja sulgemisel, näitab Excel hoiatussõnumeid, et te andmeid ei kaotaks. Nad katkestavad jooksva koodi. Nende vältimiseks

Kuidas Excelis lehti kasutada VBA abil | Kahel või enamal lehel edasi -tagasi liikumiseks peame need läbi loopima. Mitme lehe läbimiseks kasutame…

7 Näiteid silmuste jaoks Microsoft Excel VBA -s | For loop on mis tahes keeles enimkasutatav silmustehnika. Excel VBA pole erand.

Populaarsed artiklid:

50 Exceli otseteed tootlikkuse suurendamiseks | Saa oma ülesandega kiiremini hakkama. Need 50 otseteed aitavad teil Excelis veelgi kiiremini töötada.

Funktsiooni VLOOKUP kasutamine Excelis | See on üks enim kasutatud ja populaarsemaid Exceli funktsioone, mida kasutatakse erinevate vahemike ja lehtede väärtuse otsimiseks.

Funktsiooni COUNTIF kasutamine Excelis | Loendage väärtused tingimustega, kasutades seda hämmastavat funktsiooni. Te ei pea konkreetse väärtuse loendamiseks oma andmeid filtreerima. Countif funktsioon on armatuurlaua ettevalmistamisel hädavajalik.

Funktsiooni SUMIF kasutamine Excelis | See on veel üks armatuurlaua oluline funktsioon. See aitab teil teatud tingimustel väärtusi kokku võtta.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave