Excelov makro za samodejno pošiljanje e-pošte (3 primerni primeri)

  • Deliti To
Hugh West

V tem vodniku bo prikazano, kako uporabiti makro Excel za samodejno pošiljanje e-pošte. Funkcijo pošiljanja lahko konfiguriramo z uporabo VBA makrov. Tako lahko z uporabo VBA makro lahko pošljemo e-poštno sporočilo več uporabnikom hkrati. Outlook nameščen v naši napravi za samodejno pošiljanje e-pošte z makrom. Ker bo koda, ki jo bomo vstavili, uporabljala Outlook za pošiljanje e-poštnih sporočil prejemnikom.

Prenesi delovni zvezek za prakso

Delovni zvezek za vadbo lahko prenesete tukaj.

Samodejno pošiljanje e-pošte.xlsm

3 Primerni primeri Excelovega makra za samodejno pošiljanje e-pošte

V tem članku bomo prikazali 3 primerni primeri uporabe makra excel za samodejno pošiljanje e-pošte prejemnikom. preden začnemo ponazarjati primer, moramo v našem listu excel nekaj popraviti. Pred uporabo makra za samodejno pošiljanje e-pošte dokončajte spodnje korake.

KORAKI:

  • Najprej v svojem naboru podatkov pojdite na zavihek Razvijalec . Izberite možnost Visual Basic .

  • Nato pojdite v Orodje in izberite možnost Reference .

  • Novo pogovorno okno z imenom ' Reference - VBAProject ' se odpre.
  • Na koncu preverite možnost ' Knjižnica predmetov Microsoft Office 16.0 ' in kliknite na V REDU .

1. Uporabite Excelov makro VBA za samodejno pošiljanje e-pošte na podlagi vrednosti celice

Predvsem bomo uporabili program Excel VBA za samodejno pošiljanje e-pošte na podlagi določene vrednosti celice v našem naboru podatkov. Za ponazoritev tega primera bomo uporabili naslednji nabor podatkov. Napisali bomo kodo, ki bo samodejno poslala e-pošto, če bo vrednost celice v celici D6 je večja od 400 .

Oglejmo si korake za izvedbo tega dejanja.

KORAKI:

  • Za začetek, desno - kliknite na listu Na podlagi celice '.
  • Poleg tega izberite možnost Prikaži kodo '.

  • Zgornje dejanje bo odprlo prazen VBA Drugi način za odprtje okna kode za ta delovni list je, da pritisnete Alt + F11 .
  • Poleg tega v to okno vnesite naslednjo kodo:
 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 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 = "Hello!" & vbNewLine & vbNewLine & _ "Hope you are well" & vbNewLine & _ "Visit our site Exceldemy" On Error Resume Next With y .To = "Address" .cc = "" .BCC = "" .Subject = "send mail based on cell value" .Body = b .Display End With On Error GoTo 0 Set y = Nothing Set z = Nothing End Sub 
  • Nato kliknite Spustite ali pritisnite gumb F5 za zagon kode.

  • Novo pogovorno okno z imenom Makroji se prikaže.
  • Nato v Ime makra izberite makro ' Pošlji_pošto_izgled '.
  • Zdaj kliknite na Spustite gumb.

  • Končno, od zdaj naprej, ko je vrednost celice v celici D6> 400 e-poštno sporočilo v Outlook se bo samodejno ustvaril z določenimi prejemniki. Samo klikniti moramo na Pošlji gumb za pošiljanje e-poštnega sporočila.

Preberite več: Samodejno pošiljanje e-pošte iz programa Excel na podlagi vsebine celic (2 metodi)

2. Samodejno pošiljanje e-pošte glede na datum zapadlosti z makrom VBA

Pri drugi metodi bomo uporabili program Excel VBA makro za samodejno pošiljanje e-poštnega sporočila, če se bliža datum zapadlosti katerega koli projekta. To je nekaj podobnega opomniku. Za ponazoritev tega primera uporabimo naslednji nabor podatkov. Nabor podatkov vsebuje e-poštna sporočila različnih prodajalcev, sporočila in datum zapadlosti njihovega projekta.

Za izvedbo te metode sledite spodnjim korakom.

KORAKI:

  • Najprej z desno tipko miške kliknite list Datum .
  • Nato izberite možnost Prikaži kodo '.

  • Odpre se prazno okno VBA okno kode za aktivni delovni list. Prav tako lahko pritisnemo Alt + F11 da bi dobili to okno kode.
  • Nato v to okno kode vstavite naslednjo kodo:
 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 aMailItem As Object Dim aLastRow As Long Dim CrLf As String Dim aMailBody As String Dim zRgDateVal As String Dim zRgSendVal As String Dim aMailSubject As String Dim j As Long On Error Resume Next Set aRgDate = Application.InputBox("izberite stolpec rokdate:", _ "Send Mail Base on Date", , , , , , , 8) If aRgDate Is Nothing Then Exit Sub Set aRgSend = Application.InputBox("izberite stolpec prejemnikov e-pošte:", _ "Send Mail Base on Date", , , , , , , 8) If aRgSend Is Nothing Then Exit Sub Set aRgText = Application.InputBox("Izberite stolpec vsebine e-pošte:", _ "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 & "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 EndPod

  • Zdaj uporabite Spustite ali gumb F5 za zagon kode.

  • Pojavilo se bo novo pogovorno okno.
  • Nato v vnosnem polju tega pogovornega okna izberite razpon stolpca z datumom zapadlosti. D$5:$D$9 . Nato kliknite na V REDU .

  • Pojavilo se bo še eno pogovorno okno.
  • Poleg tega v vnosnem polju izberite obseg stolpca B$5:$B$9 ki vsebuje e-poštne naslove, in kliknite na V REDU .

  • Poleg tega se bo odprlo še eno okno. Izberite območje sporočil $C$5:$C$9 v vnosno polje pojavnega okna.

  • Na koncu lahko vidimo rezultate, kot so na naslednji sliki. Dobimo 3 e-poštnih sporočil, ki so samodejno ustvarjena v 3 različna okna Outlook . To ne bo ustvarilo pošte za prva dva e-poštna naslova. Ker je rok za plačilo teh dveh projektov potekel.

Preberite več: Kako samodejno poslati e-pošto iz programa Excel na podlagi datuma

Podobna branja

  • [Rešeno]: Delovni zvezek v skupni rabi ni prikazan v Excelu (z enostavnimi koraki)
  • Kako poslati e-pošto iz Excelovega seznama (2 učinkovita načina)
  • Kako po e-pošti poslati urejeno Excelovo razpredelnico (3 hitre metode)
  • Makro za pošiljanje e-pošte iz programa Excel (5 primernih primerov)
  • Makro za pošiljanje e-pošte iz programa Excel s telesom (3 uporabni primeri)

3. Uporaba Excelovega makra za samodejno pošiljanje e-pošte s priponkami

V zadnjem primeru si bomo ogledali, kako lahko razvijemo makro Excel za samodejno pošiljanje e-pošte s priponkami. Predpostavimo, da imamo priponko na naslednji sliki. To priponko želimo poslati prek e-pošte z uporabo programa Excel VBA makro. Za to potrebujemo pot do te datoteke Excel. Tukaj so koraki za to:

  • Izberite datoteko Attachment.xlsx ' '.
  • Kliknite možnost Kopiranje poti '.

  • Pot do datoteke, ki jo dobimo:
E:\Exceldemy\Attachment.xlsx

To pot bomo vstavili v našo makro kodo za pošiljanje te datoteke po e-pošti. Za to sledite spodnjim korakom.

KORAKI:

  • Najprej pojdite v Razvijalec in izberite možnost Visual Basic .

  • Odpre se novo okno z imenom ' Projekt - odprl se bo program VBAProject '.
  • Drugič, z desnim klikom miške kliknite . na ime lista.
  • Nato izberite Vstavite > Modul .

  • Zgornji ukaz bo odprl prazen VBA
  • Tretjič, v ta modul vnesite naslednjo kodo:
 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 = "Pošiljanje e-pošte z VBA." MyMail.Body = "To je vzorec pošte." Attached_File = "E:\Exceldemy\Attachment.xlsx"MyMail.Attachments.Add Attached_File MyMail.send End Sub 
  • Nato pritisnite gumb F5 ali kliknite tipko Spustite za zagon kode.

  • Na koncu bo koda poslala priponko na predvidena e-poštna sporočila v kodi. Koda pošilja e-poštna sporočila z Outlook . Zato kliknite na Omogočite gumb, da omogočite, da Outlook pošljite priponko v navedena e-poštna sporočila.

Preberite več: Kako uporabiti makro za pošiljanje e-pošte iz programa Excel s priponko

Zaključek

Na koncu je ta članek pokazal. 3 primeri uporabe programa Excel VBA Makro za samodejno pošiljanje pošte. Prenesite vzorčni delovni list iz tega članka in preizkusite svoje spretnosti. Če imate kakršna koli vprašanja, pustite komentar v spodnjem polju. Naša ekipa bo poskušala čim prej odgovoriti na vaše sporočilo. Bodite pozorni na več iznajdljivih Microsoft Excel rešitve v prihodnosti.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.