"Excel" makrokomandos automatinis el. pašto siuntimas (3 tinkami pavyzdžiai)

  • Pasidalinti
Hugh West

Šioje pamokoje bus parodyta, kaip naudoti "Excel" makrokomandą automatiškai siųsti el. laišką. Galime konfigūruoti savo siuntimo funkciją naudodami VBA makrokomandos. Taigi, naudojant VBA makro, galime siųsti el. laišką keliems naudotojams vienu metu. Turime turėti "Outlook" įdiegtas mūsų įrenginyje, kad automatiškai siųstų el. laiškus su makrokomanda. Kadangi kodas, kurį įterpsime, naudos "Outlook" siųsti el. laiškus gavėjams.

Atsisiųsti praktikos sąsiuvinį

Praktikos sąsiuvinį galite atsisiųsti iš čia.

Siųsti el. laišką automatiškai.xlsm

3 tinkami "Excel" makrokomandos pavyzdžiai automatiniam el. pašto siuntimui

Šiame straipsnyje parodysime. 3 tinkami pavyzdžiai, kaip naudoti "Excel" makrokomandą automatiškai siųsti el. laišką gavėjams. Prieš pradėdami iliustruoti pavyzdį, turime ištaisyti vieną dalyką savo "Excel" lape. Prieš taikydami makrokomandą automatiškai siųsti el. laišką, atlikite toliau nurodytus veiksmus.

ŽINGSNIAI:

  • Pirmiausia iš savo duomenų rinkinio eikite į skirtukas Kūrėjas . Pasirinkite parinktį "Visual Basic .

  • Tada eikite į Įrankis skirtuką ir pasirinkite parinktį Nuorodos .

  • Naujas dialogo langas pavadinimu Nuorodos - VBAProject ' bus atidaryta.
  • Galiausiai pažymėkite parinktį "Microsoft Office 16.0" objektų biblioteka ' ir spustelėkite GERAI .

1. Taikykite "Excel VBA" makrokomandą, kad automatiškai išsiųstumėte el. laišką pagal ląstelės vertę

Pirmiausia taikysime "Excel VBA makrokomandą, kad automatiškai išsiųstume el. laišką pagal tam tikrą langelio reikšmę mūsų duomenų rinkinyje. Šiam pavyzdžiui iliustruoti naudosime šį duomenų rinkinį. Parašysime kodą, kuris automatiškai išsiųs el. laišką, jei langelio reikšmė ląstelėje D6 yra didesnis už 400 .

Pažiūrėkime, kaip atlikti šį veiksmą.

ŽINGSNIAI:

  • Pirmiausia, dešinėje - spustelėkite lape Remiantis ląstelėmis '.
  • Be to, pasirinkite parinktį Peržiūrėti kodą '.

  • Atlikus šį veiksmą bus atidarytas tuščias VBA kodo langą. Kitas būdas atidaryti tą kodo langą - paspausti Alt + F11 .
  • Be to, tame kodo lange įveskite šį kodą:
 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 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 = "Sveiki!" & vbNewLine & vbNewLine & vbNewLine & _ "Tikimės, kad esate sveiki" & vbNewLine & _ "Aplankykite mūsų svetainę Exceldemy" On Error Resume Next With y .To = "Adresas" .cc = "" .BCC = "" .Subject = "siųsti laišką pagal langelio vertę" .Body = b .Display End With On Error GoTo 0 Set y = Nothing Set z = Nothing End Sub 
  • Tada spustelėkite Paleisti arba paspauskite mygtuką F5 paleisti kodą.

  • Naujas dialogo langas pavadinimu Makrokomandos pasirodys.
  • Po to Makro pavadinimas lauke pasirinkite makrokomandą send_mail_outlook '.
  • Dabar spustelėkite Paleisti mygtuką.

  • Galiausiai nuo šiol, kai ląstelės vertė ląstelėje D6> 400 el. laišką į "Outlook" bus automatiškai sugeneruotas su konkrečiais gavėjais. Mums tereikia spustelėti Siųsti išsiųsti el. laišką.

Skaityti daugiau: Automatinis el. laiškų siuntimas iš "Excel" pagal ląstelių turinį (2 metodai)

2. Automatinis el. pašto siuntimas pagal terminą naudojant VBA makrokomandą

Antruoju metodu naudosime "Excel VBA makrokomandas, skirtas automatiškai siųsti el. laišką, jei artėja kurio nors projekto įvykdymo terminas. Tai yra kažkas panašaus į priminimą. Šiam pavyzdžiui iliustruoti naudojame toliau pateiktą duomenų rinkinį. Duomenų rinkinyje yra įvairių pardavėjų el. laiškai, pranešimai ir jų projekto įvykdymo terminas.

Norėdami atlikti šį metodą, atlikite toliau nurodytus veiksmus.

ŽINGSNIAI:

  • Pirmiausia dešiniuoju pelės klavišu spustelėkite lapą Data .
  • Tada pasirinkite parinktį Peržiūrėti kodą '.

  • Atidaromas tuščias VBA aktyvaus darbalapio kodo langą. Taip pat galime paspausti Alt + F11 kad gautumėte šį kodo langą.
  • Tuomet į tą kodo langą įterpkite šį kodą:
 Public Sub Based_on_Date() Dim aRgDate As Range Dim aRgSend As Range Dim aRgSend As Range Dim aRgText As Range Dim aRgDone As Range 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 zRgSubject As String Dim j As Long On Error Resume Next Set aRgDate = Application.InputBox("pasirinkite stulpelį duedata:", _ "Siųsti laišką pagal datą", , , , , , , 8) If aRgDate Is Nothing Then Exit Sub Set aRgSend = Application.InputBox("Pasirinkite laiško gavėjų stulpelį:", _ "Siųsti laišką pagal datą", , , , , , , , 8) If aRgSend Is Nothing Then Exit Sub Set aRgText = Application.InputBox("Pasirinkite laiško turinio stulpelį:", _ "Siųsti laišką pagal datą", , , , , , , 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 & "Hello " & zRgSendVal & CrLf aMailBody = aMailBody & "Message: " & aRgText.Offset(j - 1).Value & CrLf aMailBody = aMailBody & "" Set aMailItem = aOutApp.CreateItem(0) With aMailItem .Subject = aMailSubject .To = zRgSendVal .HTMLBody = aMailBody .Display End With Set aMailItem = Nothing End If End If Next Set aOutApp = Nothing EndSub

  • Dabar naudokite Paleisti mygtuką arba F5 paleisti kodą.

  • Atsivers naujas dialogo langas.
  • Vėliau to dialogo lango įvesties lauke pasirinkite datos stulpelio intervalą. D$5:$D$9 . Tada spustelėkite GERAI .

  • Atsivers dar vienas dialogo langas.
  • Be to, įvesties lauke pasirinkite stulpelio intervalą B$5:B$9 kuriame yra el. pašto adresai, ir spustelėkite GERAI .

  • Be to, pasirodys dar vienas langas. Pasirinkite pranešimų diapazoną $C$5:$C$9 iškylančio lango įvesties laukelyje.

  • Galiausiai galime matyti tokius rezultatus, kaip šiame paveikslėlyje. Gauname 3 el. laiškus, kurie automatiškai sukuriami 3 skirtingi langai "Outlook" . Tai nesukurs laiškų pirmiesiems dviems el. pašto adresams. Kadangi šių dviejų projektų terminas jau pasibaigęs.

Skaityti daugiau: Kaip automatiškai siųsti el. laiškus iš "Excel" pagal datą

Panašūs skaitiniai

  • [Išspręsta]: "Excel" nerodomas bendrinis sąsiuvinis (su paprastais žingsniais)
  • Kaip siųsti el. laiškus iš "Excel" sąrašo (2 veiksmingi būdai)
  • Kaip siųsti redaguojamą "Excel" skaičiuoklę el. paštu (3 greiti metodai)
  • Elektroninio pašto siuntimo iš "Excel" makrokomandos (5 tinkami pavyzdžiai)
  • Makrokomanda, skirta siųsti el. laišką iš "Excel" su kūnu (3 naudingi atvejai)

3. Naudokite "Excel" makrokomandą, kad automatiškai išsiųstumėte el. laišką su priedais

Paskutiniame pavyzdyje pamatysime, kaip galime sukurti "Excel" makrokomandą, kad automatiškai išsiųstume el. laišką su priedais. Tarkime, kad turime toliau pateiktame paveikslėlyje pavaizduotą priedą. Šį priedą norime išsiųsti el. paštu naudodami "Excel VBA makro. Tam mums reikia šio "Excel" failo kelio. Toliau pateikiami atitinkami veiksmai:

  • Pasirinkite failą Attachment.xlsx ' '.
  • Spustelėkite parinktį Kopijavimo kelias '.

  • Taigi, failo kelias, kurį gauname:
E:\Exceldemy\Attachment.xlsx

Šį kelią įterpsime į savo makrokomandos kodą, kad galėtume siųsti šį failą el. paštu. Norėdami tai padaryti, atlikite toliau nurodytus veiksmus.

ŽINGSNIAI:

  • Pirmiausia eikite į Kūrėjas skirtuką ir pasirinkite parinktį "Visual Basic .

  • Naujas langas pavadinimu Projektas - bus atidarytas VBAProject '.
  • Antra, dešiniuoju pelės klavišu spustelėkite ant lapo pavadinimo.
  • Tada pasirinkite Įdėkite > Modulis .

  • Pirmiau pateikta komanda atidarys tuščią VBA
  • Trečia, tame modulyje įveskite šį kodą:
 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 = "Siųsti laišką su VBA." MyMail.Body = "Tai pavyzdinis laiškas." Attached_File = "E:\Exceldemy\Attachment.xlsx"MyMail.Attachments.Add Attached_File MyMail.send End Sub 
  • Tada paspauskite F5 klavišą arba spustelėkite Paleisti paleisti kodą.

  • Galiausiai kodas išsiųs priedą į kode nurodytus el. laiškus. Kodas siunčia el. laiškus pagal "Outlook" . Taigi, spustelėkite Leisti mygtuką, kad "Outlook" siųsti priedą į nurodytus el. laiškus.

Skaityti daugiau: Kaip taikyti makrokomandą siųsti el. laišką iš "Excel" su priedu

Išvada

Apibendrinant galima teigti, kad šis straipsnis rodo. 3 "Excel" naudojimo pavyzdžiai VBA makrokomandą, kad laiškai būtų siunčiami automatiškai. Atsisiųskite šiame straipsnyje pateiktą pavyzdinę darbo lentelę ir išbandykite savo įgūdžius. Jei turite klausimų, palikite komentarą toliau esančiame laukelyje. Mūsų komanda pasistengs kuo greičiau atsakyti į jūsų žinutę. Atkreipkite dėmesį į daugiau išradingų "Microsoft Excel sprendimus ateityje.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.