Satura rādītājs
Šajā rakstā mēs jums parādīsim 5 Makro uz nosūtīt e-pastu no Excel Lai demonstrētu mūsu metodes, mēs esam izvēlējušies datu kopu ar 3 kolonnas : " Nosaukums ", " E-pasts " un " Pilsēta ".
Lejupielādēt Practice Workbook
Makroīklases izmantošana, lai nosūtītu Email.xlsm5 veidi, kā izmantot makrokontroli, lai nosūtītu e-pastu no Excel
1. Outlook objektu bibliotēkas izmantošana e-pasta sūtīšanai
Par pirmo Makro , mēs ieslēgsim " Microsoft Outlook 16.0 objektu bibliotēka " uz sūtīt . e-pastu no Excel . Turklāt mums ir jāpiesakās mūsu Outlook kontā Excel .
Soļi:
Sākumā mēs uzsāksim darbu ar Visual Basic logs.
- Pirmkārt, no Izstrādātājs cilne>>>> atlasiet Visual Basic .
Varat arī nospiest ALT + F11 lai parādītu VBA logs.
- Otrkārt, no Instrumenti >>>> atlasīt " Atsauces... ".
Jauns dialoglodziņš parādīsies.
- Treškārt, izvēlieties " Microsoft Outlook 16.0 objektu bibliotēka " un nospiediet LABI .
Tādējādi mēs iespējosim Outlook objektu bibliotēka .
- Tos no Ievietot >>>> atlasīt Modulis .
Šeit ievadīsim savu kodu.
- Pēc tam ievadiet šādu kodu.
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 elementi nav obligāti 'eItem.CC = "[email protected]" 'etem.BCC = "[email protected]" eItem.Subject = "Sūtīt e-pastu, izmantojot VBA no Excel" eItem.Body = "Hello," & vbNewLine &"Ceru, ka šis e-pasts ir jums labi." & _ vbNewLine & _ vbNewLine & _ "Ar cieņu," & vbNewLine & "Exceldemy" 'Ja vēlaties pievienot šo darbgrāmatu, tad atkomentējiet šīs divas rindiņas no apakšas 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'var izmantot .Send End Sub
VBA koda sadalījums
- Pirmkārt, mēs saucam mūsu Apakšprocedūra Makro_Send_Email .
- Otrkārt, mēs paziņojam, ka mainīgais veidi.
- Treškārt, mēs izvēlamies Outlook kā mūsu Pasta pieteikums .
- Pēc tam mēs izvēlamies mūsu e-pastu nosūtīšanas adrese no šūna C5 .
- Pēc tam e-pastu saturs ir iestatīts mūsu kodā.
- Visbeidzot, " VBA Displeja īpašība " šeit tiek izmantots, lai parādītu mūsu e-pastu . Tāpēc mums būs nepieciešams nospiest Sūtīt manuāli uz sūtīt . e-pasta vēstules Turklāt mēs varam izmantot " Nosūtīt īpašumu " uz sūtīt e-pasta vēstules bez rādīšanas.
- Pēc tam, Saglabāt un aizveriet Modulis .
Tagad mēs Palaist kodu.
- Pirmkārt, no Izstrādātājs cilne>>>> atlasiet Makroprocesori .
Portāls Dialoglodziņš Makro parādīsies.
- Otrkārt, izvēlieties mūsu Apakšprocedūra " Makro_Send_Email ".
- Visbeidzot, nospiediet Palaist .
Pēc koda izpildes mēs redzēsim. e-pastu logu. Mēs varam noklikšķināt uz Sūtīt . Tādējādi mēs esam parādījuši pirmo metodi, kā nosūtot . e-pastu no Excel izmantojot VBA .
Lasīt vairāk: E-pasta sūtīšana no Excel VBA bez Outlook (4 piemēroti piemēri)
2. Makro e-pasta sūtīšanai no Gmail konta programmā Excel
Lai izmantotu šo metodi, mums ir nepieciešams mazāk droša piekļuve lietotnei no Gmail Turklāt mums būs jāaktivizē Microsoft CDO no Atsauces ēdienkarte.
Soļi:
- Pirmkārt, kā parādīts pirmajā metodē , uz augšu izcelt Dialoglodziņš Atsauces .
- Otrkārt, izvēlieties " Microsoft CDO Windows 2000 bibliotēka " un nospiediet LABI .
- Treškārt, dodieties uz Drošība no jūsu Google konta iestatījumi .
- Visbeidzot, ieslēdziet Mazāk droša piekļuve lietotnēm .
Tagad mēs ievadīsim mūsu Makro kods.
- Pirmkārt, kā parādīts 1. metodē , uz augšu izcelt Modulis logu un ievadiet šo kodu.
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 cBcc As String Dim cBody As String cSubject = "Makro nosūtīt Gmail" 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 koda sadalījums
- Pirmkārt, mēs saucam mūsu Apakšprocedūra Sūtīt_Gmail_Macro .
- Otrkārt, mēs paziņojam, ka mainīgais veidi.
- Treškārt, mēs iestatām e-pastu saturu mūsu kodā.
- Tad mēs nodrošinām mūsu pieteikšanās akreditācijas dati . Jums ir jāievada savs ID un Parole šeit.
- Pēc tam mēs esam noteikuši osta uz 465 .
- Visbeidzot, mēs esam nosūtot mūsu e-pastu .
- Tad, Saglabāt un Palaist šo kodu.
Mēs esam veiksmīgi nosūtīts . e-pastu uz mūsu adresi.
Lasīt vairāk: Makro, lai nosūtītu e-pastu no Excel ar ķermeni (3 noderīgi gadījumi)
3. E-pasta sūtīšana saņēmēju sarakstam no kolonnas
Trešajā metodē mēs izmantosim sūtīt e-pasta vēstules uz 7 cilvēki, kas izmanto Makro no Excel . Mēs atradīsim pēdējo rinda mūsu datu kopas, tāpēc mūsu kods darbosies garākam sarakstam. Mēs sūtīt e-pasta vēstules no šūna C5: C10 diapazons.
Soļi:
- Pirmkārt, kā parādīts 1. metodē , uz augšu izcelt Modulis logu un ievadiet šo kodu.
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 koda sadalījums
- Pirmkārt, mēs saucam mūsu Apakšprocedūra Makro_Send_Email_From_A_List .
- Otrkārt, mēs paziņojam, ka mainīgais veidi.
- Treškārt, mēs izvēlamies Outlook kā mūsu Pasta pieteikums .
- Tad mēs atrodam pēdējā rinda , kas ir 10 mūsu datu kopai.
- Pēc tam, kā mūsu e-pastu sākas no 5 rinda mēs esam ievadījuši 5 kā sākuma vērtību " mainīgais lielums z ". Turklāt mūsu e-pasta vēstules ir uz C kolonna , tāpēc mēs esam ievadījuši 3 iekšpusē Šūnas īpašums.
- Pēc tam mēs iestatām e-pastu saturu mūsu kodā.
- Visbeidzot, " .Display " šeit tiek izmantots, lai parādītu mūsu e-pastu . Tāpēc mums būs nepieciešams nospiest Sūtīt manuāli uz sūtīt . e-pasta vēstules Turklāt mēs varam izmantot " .Send " uz nosūtīt e-pastu bez rādīšanas.
- Tad, Saglabāt un Palaist . Modulis .
Mēs varam redzēt, ka visi mūsu e-pasta vēstules tiek parādīti BCC . Noslēgumā mēs varam vienkārši nospiest Sūtīt lai pabeigtu mūsu uzdevumu.
Lasīt vairāk: Kā nosūtīt e-pastu no Excel saraksta (2 efektīvi veidi)
Līdzīgi lasījumi
- Kā automātiski sūtīt e-pastu, kad izpildīts nosacījums programmā Excel
- Kā kopīgot Excel failu tiešsaistē (2 vienkāršas metodes)
- Automātiska atgādinājuma e-pasta sūtīšana no Excel darblapas, izmantojot VBA
- Kā sūtīt e-pastu, ja izpildīti nosacījumi programmā Excel (3 vienkāršas metodes)
- Kā iespējot kopīgot darbgrāmatu programmā Excel
4. Makro, lai nosūtītu vienu lapu, izmantojot e-pastu
Šajā sadaļā mēs sūtīt . Aktīvā darblapa uz mūsu mērķa personu. Šeit mums būs jāizvēlas atrašanās vieta mūsu Excel failu.
Soļi:
- Pirmkārt, kā parādīts 1. metodē , uz augšu izcelt Modulis logu un ievadiet šo kodu.
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.SaveAsFileName:="C:\Uzņēmēji\Rafi\OneDrive\Desktop\Softeko\47\" & fxName Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = "[email protected]" .Subject = "Makro, lai nosūtītu vienu lapu pa e-pastu" .Body = "Cienījamais saņēmēja vārds," & vbCrLf & vbCrLf & _ "Jūsu pieprasītais fails ir pievienots" .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 koda sadalījums
- Pirmkārt, mēs saucam mūsu Apakšprocedūra Makro_Email_Single_Sheet .
- Otrkārt, mēs paziņojam, ka mainīgais veidi.
- Treškārt, mēs kopējam Aktīvā lapa un saglabājot to kā atsevišķu Darba burtnīca .
- Pēc tam mēs izvēlamies Outlook kā mūsu Pasta pieteikums .
- Tad mēs iestatām e-pastu saturu mūsu kodā.
- Pēc tam mēs esam pievienojuši Loksne uz e-pastu .
- Visbeidzot, izmantojiet " .Display ", lai parādītu mūsu e-pastu . Tāpēc mums būs nepieciešams nospiest Sūtīt manuāli uz sūtīt . e-pasta vēstules Turklāt mēs varam izmantot " .Send " uz nosūtīt e-pastu bez rādīšanas.
- Tad, Saglabāt un Palaist . Modulis .
Mēs redzēsim Loksne nosaukumu logā. Nospiediet Sūtīt lai pabeigtu uzdevumu.
Mēs varam atvērts failu un pārbaudiet, vai mūsu kods darbojas.
Lasīt vairāk: Kā nosūtīt rediģējamu Excel izklājlapu pa e-pastu (3 ātras metodes)
5. Makro, lai nosūtītu e-pastu, pamatojoties uz šūnas vērtību
Izmantojot pēdējo metodi, mēs esam nedaudz mainījuši datu kopu. Mēs esam pievienojuši " Maksājums Due " sleja datu kopai. Šeit mēs sūtīt . e-pastu kurā ir pilsēta " Obama ". Mēs varam skaidri redzēt, ka 5 rinda satur to, tāpēc mēs gatavojamies sūtīt . e-pastu tikai šai personai.
Soļi:
- Pirmkārt, kā parādīts 1. metodē , uz augšu izcelt Modulis logu un ievadiet šo kodu.
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 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 & ", Lūdzu, samaksājiet pienākošos summu nākamās nedēļas laikā." _ & vbNewLine & "Precīza summa ir pievienota šim e-pastam." .Attachments.Add ActiveWorkbook.FullName 'Nosūtīt failu pa e-pastu .Display 'Mēs varam izmantot .Send arī šeit End With Set pMail = Nothing Set pApp = Nothing End Sub
VBA koda sadalījums
- Pirmkārt, mēs aicinām mūsu pirmo Apakšprocedūra Send_Email_Condition .
- Otrkārt, mēs paziņojam, ka Mainīgs veidi un iestatījumi " Nosacījumi " kā mūsu Loksne .
- Treškārt, pēdējais rinda Turklāt mūsu vērtība sākas no 5 rinda , tāpēc mēs esam ielikuši 5 rinda līdz pēdējam rinda mūsu kodā.
- Pēc tam izsauciet mūsu otro Apakšprocedūra Sūtīt_Email_With_Multiple_Condition .
- Pēc tam mēs izvēlamies Outlook kā mūsu Pasta pieteikums .
- Tad e-pastu saturs ir iestatīts mūsu kodā.
- Šeit mēs pievienojam Excel failu ar e-pastu izmantojot Pielikums metode.
- Pēc tam " .Display " šeit tiek izmantots, lai parādītu mūsu e-pastu . Tāpēc mums būs nepieciešams nospiest Sūtīt manuāli uz sūtīt . e-pasta vēstules Turklāt mēs varam izmantot " .Send " uz nosūtīt e-pastu bez rādīšanas.
- Tad, Saglabāt un Palaist . Modulis .
Nobeigumā mēs jums parādījām vēl vienu metodi, kā nosūtot . e-pastu izmantojot VBA makro programma no Excel .
Lasīt vairāk: Automātiska e-pasta sūtīšana no Excel, pamatojoties uz šūnu saturu (2 metodes)
Prakses sadaļa
Katrai metodei esam pievienojuši prakses datu kopas. Excel failu.
Secinājums
Mēs esam jums parādījuši 5 izmantojamās metodes Makro uz sūtīt . e-pastu no Excel . Paldies, ka lasāt, turpiniet izcilību!