Excel-makro lähettää sähköpostia automaattisesti (3 sopivaa esimerkkiä)

  • Jaa Tämä
Hugh West

Tämä opetusohjelma havainnollistaa, miten Excel-makroa käytetään sähköpostin automaattiseen lähettämiseen. Voimme määrittää postitusominaisuutemme käyttämällä seuraavia toimintoja VBA makrojen avulla. VBA makron avulla voimme lähettää sähköpostia useille käyttäjille samanaikaisesti. Meidän on oltava Outlook asennettu laitteeseemme lähettämään sähköpostia automaattisesti makron avulla. Koska koodi, jonka lisäämme, tulee käyttämään Outlook lähettää sähköposteja vastaanottajille.

Lataa harjoituskirja

Voit ladata harjoituskirjan täältä.

Lähetä sähköpostia automaattisesti.xlsm

3 sopivaa esimerkkiä Excel-makrosta sähköpostin automaattiseen lähettämiseen

Tässä artikkelissa osoitamme, että 3 sopivia esimerkkejä Excel-makron käyttämisestä sähköpostin automaattiseen lähettämiseen vastaanottajille. Ennen esimerkin havainnollistamista meidän on korjattava asia Excel-taulukkoon. Suorita alla olevat vaiheet ennen kuin sovellat makroa sähköpostin automaattiseen lähettämiseen.

VAIHEET:

  • Siirry ensin tietokokonaisuudestasi osoitteeseen Kehittäjä-välilehti Valitse vaihtoehto Visual Basic .

  • Siirry seuraavaksi Työkalu välilehti ja valitse vaihtoehto Viitteet .

  • Uusi valintaikkuna nimeltä ' Viitteet - VBAProject ' avautuu.
  • Tarkista lopuksi vaihtoehto ' Microsoft Office 16.0 -objektikirjasto ' ja klikkaa OK .

1. Sovelletaan Excel VBA -makroa lähettämään sähköpostia automaattisesti solun arvon perusteella.

Ensinnäkin sovellamme excelin VBA makro lähettää sähköpostin automaattisesti perustuen tiettyyn solun arvoon tietokannassamme. Esimerkin havainnollistamiseksi käytämme seuraavaa tietokantaa. Kirjoitamme koodin, joka lähettää sähköpostin automaattisesti, jos solun arvo solussa D6 on suurempi kuin 400 .

Katsotaanpa, miten tämä toiminto suoritetaan.

ASKELEET:

  • Aluksi, oikea - klikkaa arkilla Perustuu Cell '.
  • Valitse lisäksi vaihtoehto ' Näytä koodi '.

  • Yllä oleva toiminto avaa tyhjän VBA Toinen tapa avata kyseinen koodiikkuna on painaa painiketta Alt + F11 .
  • Kirjoita lisäksi seuraava koodi kyseiseen koodiikkunaan:
 Dim rg As Range Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Cells.Count> 1 Then Exit Sub Set rg = Intersect(Range("D6"), Target) If rg Is Nothing Then Exit Sub If IsNumeric(Target.Value) And Target.Value> 400 Then Call send_mail_outlook End If End If End Sub Sub send_mail_outlook() Dim z As Object Dim y As Object Dim b As String Set z =CreateObject("Outlook.Application") Set y = z.CreateItem(0) b = "Hei!" & vbNewLine & vbNewLine & _ "Toivottavasti voit hyvin" & vbNewLine & _ "Käy sivustollamme Exceldemy" On Error Resume Next With y .To = "Osoite" .cc = "Osoite" .BCC = "" .BCC = "" .Subject = "lähetä sähköpostia solun arvon perusteella" .Body = b .Display End With On Error GoTo 0 Set y = Nothing Set z = Nothing End Sub 
  • Napsauta sitten Suorita painiketta tai paina F5 näppäimellä koodin suorittamiseksi.

  • Uusi valintaikkuna nimeltä Makrot ilmestyy.
  • Sen jälkeen Makron nimi kentässä valitse makro ' send_mail_outlook '.
  • Napsauta nyt Suorita nappi.

  • Lopuksi, tästä lähtien kun solun arvo solussa D6> 400 sähköpostia osoitteessa Outlook luodaan automaattisesti tietyille vastaanottajille. Meidän täytyy vain klikata kohtaa Lähetä painiketta lähettääksesi sähköpostin.

Lue lisää: Lähetä automaattisesti sähköposteja Excelistä solun sisällön perusteella (2 menetelmää)

2. Sähköpostin automaattinen lähettäminen eräpäivän perusteella VBA-makron avulla

Toisessa menetelmässä käytämme Excelin VBA makro lähettää automaattisesti sähköpostin, jos jonkin projektin eräpäivä on lähellä. Tämä on ikään kuin muistutus. Käytämme esimerkin havainnollistamiseen seuraavaa tietokokonaisuutta. Tietokokonaisuus sisältää eri myyjien sähköposteja, viestejä ja heidän projektinsa eräpäivän.

Seuraa alla olevia ohjeita tämän menetelmän suorittamiseksi.

ASKELEET:

  • Napsauta ensin hiiren kakkospainikkeella arkkia Päivämäärä .
  • Valitse seuraavaksi vaihtoehto ' Näytä koodi '.

  • Se avaa tyhjän VBA aktiivisen laskentataulukon koodiikkunaan. Voimme myös painaa painiketta Alt + F11 saadaksesi tuon koodiikkunan.
  • Lisää sitten seuraava koodi kyseiseen koodiikkunaan:
 Public Sub Based_on_Date() Dim aRgDate As Range Dim aRgSend As Range Dim aRgText As Range Dim aRgDone As Range Dim aOutApp As Object Dim aOutApp As Object Dim aMailItem As Object Dim aLastRow As Long Dim CrLf As String Dim aMailBody As String Dim zRgDateVal As String Dim zRgSendVal As String Dim zRgSendVal As String Dim aMailSubject As String Dim j As Long On Error Resume Next Aseta aRgDate = Application.InputBox("valitse sarakkeen eräpäivä").date:", _ "Send Mail Base on Date", , , , , , , 8) If aRgDate Is Nothing Then Exit Sub Set aRgSend = Application.InputBox("select the email recipients column:", _ "Send Mail Base on Date", , , , , , , 8) If aRgSend Is Nothing Then Exit Sub Set aRgText = Application.InputBox("Select the content column of email:", _ "Send Mail Base on Date", , , , , , , , , 8) If aRgText Is Nothing Then Exit Sub aLastRow =aRgDate.Rows.Count Set aRgDate = aRgDate(1) Set aRgSend = aRgSend(1) Set aRgText = aRgText(1) Set aOutApp = CreateObject("Outlook.Application") For j = 1 To aLastRow zRgDateVal = "" zRgDateVal = aRgDate.Offset(j - 1).Value If zRgDateVal "" Then If CDate(zRgDateVal) - Date 0 Then zRgSendVal = aRgSend.Offset(j - 1).Value aMailSubject = aRgText.Offset(j - 1).Value & " on " & zRgDateVal CrLf= " 

" aMailBody = "" aMailBody = aMailBody & "Hei " & zRgSendVal & CrLf aMailBody = aMailBody & "Viesti: " & aRgText.Offset(j - 1).Value & CrLf aMailBody = aMailBody & "amp; "" Aseta aMailItem = aOutApp.CreateItem(0) With aMailItem .Subject = aMailSubject .To = zRgSendVal .HTMLBody = aMailBody .Display End With Aseta aMailItem = Ei mitään End If End If Next Aseta aOutApp = Ei mitään EndSub

  • Käytä nyt Suorita painiketta tai F5 näppäimellä koodin suorittamiseksi.

  • Uusi valintaikkuna avautuu.
  • Valitse sen jälkeen kyseisen valintaikkunan syöttökenttään eräpäivä-sarakkeen alue. D$5:$D$9 Klikkaa sitten OK .

  • Avautuu vielä yksi valintaikkuna.
  • Valitse lisäksi syöttökentässä sarakealue. B$5:$B$9 joka sisältää sähköpostiosoitteet ja klikkaa OK .

  • Lisäksi avautuu vielä yksi ikkuna. Valitse viestialue. $C$5:$C$9 ponnahdusikkunan syöttökenttään.

  • Lopputuloksena saadaan seuraavan kuvan kaltaiset tulokset. Saamme seuraavat tulokset 3 sähköpostit, jotka luodaan automaattisesti 3 eri ikkunat Outlook Tämä ei luo sähköpostia kahteen ensimmäiseen sähköpostiosoitteeseen, koska näiden kahden projektin eräpäivä on ohi.

Lue lisää: Kuinka lähettää automaattisesti sähköpostia Excelistä päivämäärän perusteella?

Samanlaisia lukemia

  • [Ratkaistu]: Jaa työkirja ei näy Excelissä (helpoilla ohjeilla)
  • Kuinka lähettää sähköpostia Excel-luettelosta (2 tehokasta tapaa)
  • Muokattavan Excel-taulukon lähettäminen sähköpostitse (3 nopeaa menetelmää)
  • Makro lähettää sähköpostia Excelistä (5 sopivaa esimerkkiä)
  • Makro sähköpostin lähettämiseen Excelistä rungon kanssa (3 käyttökelpoista tapausta)

3. Käytä Excel-makroa sähköpostin automaattiseen lähettämiseen liitteiden kanssa.

Viimeisessä esimerkissä näemme, miten voimme kehittää Excel-makron lähettämään sähköpostin automaattisesti liitetiedostojen kanssa. Oletetaan, että meillä on liitetiedosto seuraavassa kuvassa. Haluamme lähettää tämän liitetiedoston sähköpostitse Excelin avulla. VBA makro. Tätä varten tarvitsemme tämän Excel-tiedoston polun. Seuraavassa on ohjeet:

  • Valitse tiedosto ' Liite.xlsx ' '.
  • Napsauta vaihtoehtoa ' Kopioi polku '.

  • Saamamme tiedoston polku:
E:\Exceldemy\Attachment.xlsx

Lisäämme tämän polun makrokoodiin, jotta voimme lähettää tiedoston sähköpostitse. Seuraa alla olevia ohjeita.

ASKELEET:

  • Mene ensin osoitteeseen Kehittäjä välilehti ja valitse vaihtoehto Visual Basic .

  • Uusi ikkuna nimeltä ' Projekti - VBAProject avautuu '.
  • Toiseksi, klikkaa hiiren oikealla arkin nimeä.
  • Valitse sitten Lisää > Moduuli .

  • Yllä oleva komento avaa tyhjän VBA
  • Kolmanneksi kirjoita seuraava koodi kyseiseen Moduuliin:
 Sub send_Email_complete() Dim MyOutlook As Object Set MyOutlook = CreateObject("Outlook.Application") Dim MyMail As Object Set MyMail = MyOutlook.CreateItem(olMailItem) MyMail.To = "[email protected]" MyMail.cc = "[email protected]" MyMail.BCC = "[email protected]" MyMail.Subject = "Sähköpostin lähettäminen VBA:lla." MyMail.Body = "Tämä on esimerkkipostiviesti." Attached_File = "E:\\Exceldemyymin\Attachment.xlsx"MyMail.Attachments.Add Attached_File MyMail.send End Sub 
  • Paina sitten F5 näppäintä tai napsauta Suorita painiketta koodin suorittamiseksi.

  • Lopuksi koodi lähettää liitetiedoston koodissa annettuihin sähköposteihin. Koodi lähettää sähköpostit seuraavasti Outlook . Joten, klikkaa Salli painiketta päästääksesi Outlook lähettää liitetiedoston annettuihin sähköposteihin.

Lue lisää: Kuinka soveltaa makroa sähköpostin lähettämiseen Excelistä liitteellä

Päätelmä

Yhteenvetona voidaan todeta, että tämä artikkeli osoittaa 3 esimerkkejä excelin käytöstä VBA makro lähettää postia automaattisesti. Lataa tässä artikkelissa annettu esimerkkitehtävä ja testaa taitojasi. Jos sinulla on kysyttävää, jätä kommentti alla olevaan laatikkoon. Tiimimme pyrkii vastaamaan viestiisi mahdollisimman pian. Pidä silmällä lisää kekseliäitä Microsoft Excel ratkaisuja tulevaisuudessa.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.