Elektroninio pašto siuntimo iš "Excel" makrokomandos (5 tinkami pavyzdžiai)

  • Pasidalinti
Hugh West

Šiame straipsnyje parodysime, kaip 5 Makro į siųsti el. laišką "Excel" . Norėdami pademonstruoti savo metodus, pasirinkome duomenų rinkinį su 3 stulpeliai : " Pavadinimas ", " El. paštas " ir " Miestas ".

Atsisiųsti praktikos sąsiuvinį

Makrokomandos naudojimas el. paštui siųsti.xlsm

5 būdai, kaip naudoti makrokomandą el. paštui siųsti iš "Excel

1. "Outlook" objektų bibliotekos naudojimas el. paštui siųsti

Pirmą kartą Makro , įjungsime " "Microsoft Outlook" 16.0 objektų biblioteka " į siųsti . el. paštas "Excel" . Be to, turime prisijungti prie savo "Outlook" sąskaitą, esančią "Excel" .

Žingsniai:

Pradžioje ketiname iškelti "Visual Basic langas.

  • Pirma, iš Kūrėjas skirtukas>>>> pasirinkite "Visual Basic .

Arba galite paspausti ALT + F11 rodyti VBA langas.

  • Antra, iš Įrankiai >>>> pasirinkite " Nuorodos... ".

Naujas dialogo langas pasirodys.

  • Trečia, pasirinkite " "Microsoft Outlook" 16.0 objektų biblioteka " ir paspauskite GERAI .

Taigi, mes įjungsime "Outlook" objektų biblioteka .

  • Juos iš Įdėkite >>>> pasirinkti Modulis .

Čia įvesime savo kodą.

  • Po to įveskite šį kodą.
 Sub Macro_Send_Email() Dim eApp As Outlook.Application Dim eSource As String Set eApp = New Outlook.Application Dim eItem As Outlook.MailItem Set eItem = eApp.CreateItem(olMailItem) eItem.To = Range("C5").Value 'Šie elementai neprivalomi 'eItem.CC = "[email protected]" 'etem.BCC = "[email protected]" eItem.Subject = "Siųsti laišką naudojant VBA iš Excel" eItem.Body = "Hello," & vbNewLine &"Tikiuosi, kad šis laiškas jums padės." & _ vbNewLine & _ vbNewLine & _ "Pagarbiai" & vbNewLine & "Exceldemy" 'Jei norite pridėti šį sąsiuvinį, tuomet atmeskite šias dvi žemiau esančias eilutes 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'can use .Send End Sub 

VBA kodo suskirstymas

  • Pirma, mes vadiname savo Papildoma procedūra Macro_Send_Email .
  • Antra, skelbiame, kad kintamasis tipai.
  • Trečia, renkamės "Outlook" kaip mūsų Pašto paraiška .
  • Tada pasirenkame savo el. paštas siuntimo adresas iš ląstelė C5 .
  • Po to el. paštas turinys nustatytas mūsų kode.
  • Galiausiai, " VBA rodymo savybė " čia naudojamas rodyti mūsų el. paštas . Todėl turėsime paspausti Siųsti rankiniu būdu į siųsti . el. laiškai Be to, galime naudoti " Siųsti nuosavybę " į siųsti el. laiškus nerodant.
  • Po to, Išsaugoti ir uždarykite Modulis .

Dabar mes Paleisti kodą.

  • Pirma, iš Kūrėjas skirtukas>>>> pasirinkite Makrokomandos .

Svetainė Dialogo langas Makro pasirodys.

  • Antra, pasirinkite mūsų Papildoma procedūra " Macro_Send_Email ".
  • Galiausiai paspauskite Paleisti .

Įvykdę kodą, pamatysime el. paštas langą. Galime spustelėti Siųsti . Taigi, mes parodėme jums pirmąjį metodą siųsti . el. paštas Excel naudojant VBA .

Skaityti daugiau: Siųsti el. laiškus iš "Excel VBA" be "Outlook" (4 tinkami pavyzdžiai)

2. Elektroninio pašto siuntimo iš "Gmail" paskyros "Excel" programoje makrokomanda

Šiam metodui reikia mažiau saugi prieiga prie programėlės "Gmail" Be to, turėsime įjungti "Microsoft" CDO Nuorodos meniu.

Žingsniai:

  • Pirma, kaip parodyta pirmajame metode , iškvieskite Dialogo langas Nuorodos .
  • Antra, pasirinkite " "Microsoft CDO for Windows 2000" biblioteka " ir paspauskite GERAI .

  • Trečia, eikite į Apsauga iš savo "Google" paskyros nustatymai .
  • Galiausiai įjunkite Mažiau saugi prieiga prie programėlės .

Dabar įvesime savo Makro kodas.

  • Pirma, kaip parodyta 1 metode , iškvieskite Modulis langą ir įveskite šį kodą.
 Option Explicit Sub Send_Gmail_Macro() Dim cMail As Object Dim cConfig As Object Dim sConfig As Variant Dim cSubject As String Dim cFrom As String Dim cFrom As String Dim cTo As String Dim cCC As String Dim cBcc As String Dim cBody As String cSubject = "Gmail siuntimo makrokomanda" cFrom = "[email protected]" cTo = "[email protected]" cBody = "Hello. This is an automated message. Please don't reply" Set cMail =CreateObject("CDO.Message") On Error GoTo Error_Handling Set cConfig = CreateObject("CDO.Configuration") cConfig.Load -1 Set sConfig = cConfig.Fields With sConfig .Item("//schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("//schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" .Item("//schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1.Item("//schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" .Item("//schemas.microsoft.com/cdo/configuration/sendpassword") = "SenderGmailPassword" .Item("//schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 .Item("//schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Update End With With With cMail Set .Configuration = cConfig End With cMail.Subject =cSubject cMail.From = cFrom cMail.To = cTo cMail.TextBody = cBody cMail.CC = cCC cMail.BCC = cBcc cMail.Send Error_Handling: If Err.Description "" Then MsgBox Err.Description End Sub 

VBA kodo suskirstymas

  • Pirma, mes vadiname savo Papildoma procedūra Siųsti_Gmail_Macro .
  • Antra, skelbiame, kad kintamasis tipai.
  • Trečia, nustatome el. paštas turinį mūsų kode.
  • Tada mes teikiame savo prisijungimo duomenys . Turite įvesti savo ID ir Slaptažodis čia.
  • Po to nustatėme uostas į 465 .
  • Galiausiai, mes siųsti mūsų el. paštas .
  • Tada, Išsaugoti ir Paleisti šį kodą.

Sėkmingai išsiųsta . el. paštas į mūsų adresą.

Skaityti daugiau: Makrokomanda, skirta siųsti el. laišką iš "Excel" su kūnu (3 naudingi atvejai)

3. Siųsti el. laišką gavėjų sąrašui iš stulpelio

Taikydami trečiąjį metodą, ketiname siųsti el. laiškus į 7 žmonės, naudojantys Makro "Excel" . Rasime paskutinį eilutė mūsų duomenų rinkinio, todėl mūsų kodas veiks ir ilgesniam sąrašui. siųsti el. laiškus ląstelė C5:C10 diapazonas.

Žingsniai:

  • Pirma, kaip parodyta 1 metode , iškvieskite Modulis langą ir įveskite šį kodą.
 Sub Macro_Send_Email_From_A_List() Dim pApp As Object Dim pMail As Object Dim z As Integer Dim eList As String Dim eRow As Long Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) eRow = Range("C:C").SpecialCells(xlCellTypeLastCell).Row - 1 With pMail eList = "" For z = 5 To eRow If eList = "" Then eList = Cells(z, 3).Value Else eList = eList & ";" & Cells(z,3).Value End If Next z .BCC = eList .Subject = "Hello There" .Body = "This Message is brought to you by Exceldemy." .Display 'You can use .Send here End With Set pMail = Nothing Set pApp = Nothing End Sub 

VBA kodo suskirstymas

  • Pirma, mes vadiname savo Papildoma procedūra Makro_Send_Email_From_A_List .
  • Antra, skelbiame, kad kintamasis tipai.
  • Trečia, renkamės "Outlook" kaip mūsų Pašto paraiška .
  • Tada mes randame paskutinė eilutė , kuris yra 10 mūsų duomenų rinkiniui.
  • Po to, kaip mūsų el. paštas prasideda nuo 5 eilutė įvedėme 5 kaip pradinę " kintamasis z ". Be to, mūsų el. laiškai yra C stulpelis , todėl įvedėme 3 viduje Ląstelės nuosavybė.
  • Tada nustatome el. paštas turinį mūsų kode.
  • Galiausiai, " .Display " čia naudojamas rodyti mūsų el. paštas . Todėl turėsime paspausti Siųsti rankiniu būdu į siųsti . el. laiškai Be to, galime naudoti " .Siųsti " į siųsti el. laišką nerodant.
  • Tada, Išsaugoti ir Paleisti . Modulis .

Matome, kad visi mūsų el. laiškai rodomi BCC . Apibendrinant, galime tiesiog paspausti Siųsti atlikti mūsų užduotį.

Skaityti daugiau: Kaip siųsti el. laiškus iš "Excel" sąrašo (2 veiksmingi būdai)

Panašūs skaitiniai

  • Kaip automatiškai siųsti el. laišką, kai "Excel" įvykdoma sąlyga
  • Kaip bendrinti "Excel" failą internete (2 paprasti metodai)
  • Automatinis priminimo laiško siuntimas iš "Excel" darbalapio naudojant VBA
  • Kaip siųsti el. laišką, jei "Excel" įvykdytos sąlygos (3 paprasti metodai)
  • Kaip įgalinti bendrinti darbaknygę "Excel" programoje

4. Makrokomandos, skirtos vienam lapeliui siųsti naudojant el. paštą

Šiame skyriuje siųsti . Aktyvus darbalapis į mūsų tikslinį asmenį. Čia mums reikės pasirinkti savo "Excel" failas.

Žingsniai:

  • Pirma, kaip parodyta 1 metode , iškvieskite Modulis langą ir įveskite šį kodą.
 Sub Macro_Email_Single_Sheet() Dim pApp As Object Dim pMail As Object Dim zBook As Workbook Dim fxName As String 'Dim zSheet As Worksheet 'Dim shtName As String Application.ScreenUpdating = False ActiveSheet.Copy Set zBook = ActiveWorkbook fxName = zBook.Worksheets(1).Name On Error Resume Next Kill "C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & fxName On Error GoTo 0 zBook.SaveAsFailo pavadinimas:="C:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & fxName Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = "[email protected]" .Subject = "Macro to Send Single Sheet via Email" .Body = "Dear RecieverName," & vbCrLf & vbCrLf & _ "Your requested file is attached" .Attachments.Add zBook.FullName .Display End WithzBook.ChangeFileAccess Mode:=xlReadOnly Kill zBook.FullName zBook.Close SaveChanges:=False Application.ScreenUpdating = True Set pMail = Nothing Set pApp = Nothing End Sub 

VBA kodo suskirstymas

  • Pirma, mes vadiname savo Papildoma procedūra Macro_Email_Single_Sheet .
  • Antra, skelbiame, kad kintamasis tipai.
  • Trečia, kopijuojame Aktyvus lapas ir išsaugoti jį kaip atskirą Darbo knyga .
  • Po to pasirenkame "Outlook" kaip mūsų Pašto paraiška .
  • Tada nustatome el. paštas turinį mūsų kode.
  • Po to pridėjome Lapas į el. paštas .
  • Galiausiai naudokite " .Display ", kad būtų rodomas mūsų el. paštas . Todėl turėsime paspausti Siųsti rankiniu būdu į siųsti . el. laiškai Be to, galime naudoti " .Siųsti " į siųsti el. laišką nerodant.
  • Tada, Išsaugoti ir Paleisti . Modulis .

Pamatysime Lapas pavadinimą lange. Paspauskite Siųsti atlikti užduotį.

Galime Atviras failą ir patikrinkite, ar mūsų kodas veikia.

Skaityti daugiau: Kaip siųsti redaguojamą "Excel" skaičiuoklę el. paštu (3 greiti metodai)

5. Makrokomanda, skirta siųsti el. laišką pagal ląstelės reikšmę

Taikydami paskutinį metodą šiek tiek pakeitėme duomenų rinkinį. Mokėjimas Dėl " stulpelis į duomenų rinkinį. siųsti . el. paštas kuriame yra miestas " Obama ". Mes aiškiai matome, kad 5 eilutė yra, todėl mes ketiname siųsti . el. paštas tik tam asmeniui.

Žingsniai:

  • Pirma, kaip parodyta 1 metode , iškvieskite Modulis langą ir įveskite šį kodą.
 Option Explicit Sub Send_Email_Condition() Dim xSheet As Worksheet Dim mAddress As String, mSubject As String, eName As String Dim eRow As Long, x As Long Set xSheet = ThisWorkbook.Sheets("Conditions") With xSheet eRow = .Cells(.Rows.Count, 5).End(xlUp).Row For x = 5 To eRow If .Cells(x, 4)>= 1 And .Cells(x, 5) = "Obama" Then mAddress = .Cells(x, 3) mSubject = "Request For Payment" eName =.Cells(x, 2) Call Send_Email_With_Multiple_Condition(mAddress, mSubject, eName) End If Next x End With End Sub Sub Send_Email_With_Multiple_Condition(mAddress As String, mSubject As String, eName As String) Dim pApp As Object Dim pMail As Object Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = mAddress .CC = "" .BCC = "" .Subject = mSubject .Body ="Mr./Mrs. " & eName & ", Please pay the due amount within the next week." _ & vbNewLine & "The exact amount is attached with this email." .Attachments.Add ActiveWorkbook.FullName 'Siųsti failą el. paštu .Display 'We can use .Send here too End With Set pMail = Nothing Set pApp = Nothing End Sub 

VBA kodo suskirstymas

  • Pirma, mes skambiname į savo pirmąjį Papildoma procedūra Send_Email_Condition .
  • Antra, skelbiame, kad Kintamas tipai ir nustatymas " Sąlygos " kaip mūsų Lapas .
  • Trečia, paskutinis eilutė Be to, mūsų vertė prasideda nuo 5 eilutė , todėl įrašėme 5 eilutė iki paskutinio eilutė mūsų kode.
  • Tada paskambinkite mūsų antrajam Papildoma procedūra Send_Email_With_Multiple_Condition .
  • Po to pasirenkame "Outlook" kaip mūsų Pašto paraiška .
  • Tada el. paštas turinys nustatytas mūsų kode.
  • Čia pridedame "Excel" failą su el. paštas naudojant Priedas metodas.
  • Po to " .Display " čia naudojamas rodyti mūsų el. paštas . Todėl turėsime paspausti Siųsti rankiniu būdu į siųsti . el. laiškai Be to, galime naudoti " .Siųsti " į siųsti el. laišką nerodant.
  • Tada, Išsaugoti ir Paleisti . Modulis .

Baigdami parodėme jums dar vieną metodą, kaip siųsti . el. paštas naudojant VBA makrokomandos "Excel" .

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

Praktikos skyrius

Kiekvienam metodui pridėjome praktinių duomenų rinkinių "Excel" failas.

Išvada

Parodėme jums 5 naudojami metodai Makro į siųsti . el. paštas "Excel" . Ačiū, kad skaitote, ir toliau tobulėkite!

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ą.