Makró az Excelből küldött e-mail küldéséhez (5 megfelelő példa)

  • Ossza Meg Ezt
Hugh West

Ebben a cikkben megmutatjuk, hogy 5 Makró a címre. e-mail küldése a címről Excel Módszereink bemutatásához kiválasztottunk egy olyan adathalmazt, amelynek 3 oszlop : " Név ", " E-mail ", és " Város ".

Gyakorlati munkafüzet letöltése

Makró használata Email.xlsm küldéséhez

5 módja a makró használatának az Excelből történő e-mail küldéséhez

1. Az Outlook objektumkönyvtár használata az e-mail küldéséhez

Az első Makró , engedélyezni fogjuk a " Microsoft Outlook 16.0 Objektumkönyvtár " a küldje el a egy e-mail a címről Excel Ezen kívül be kell jelentkeznünk a Outlook számla a Excel .

Lépések:

Az elején fel fogjuk hozni a Visual Basic ablak.

  • Először is, a Fejlesztő tab>>>> select Visual Basic .

Alternatívaként megnyomhatja a ALT + F11 a VBA ablak.

  • Másodszor, a Eszközök >>> select " Referenciák... ".

Egy új párbeszédpanel megjelenik.

  • Harmadszor, válassza a " Microsoft Outlook 16.0 Objektumkönyvtár ", és nyomja meg a OK .

Így lehetővé tesszük, hogy Outlook objektum könyvtár .

  • Őket a Beillesztés >>>> select Modul .

Ide írjuk be a kódunkat.

  • Ezután írja be a következő kódot.
 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 'Ezek az elemek opcionálisak 'eItem.CC = "[email protected]" 'etem.BCC = "[email protected]" eItem.Subject = "E-mail küldése VBA segítségével az Excelből" eItem.Body = "Hello," & vbNewLine &"Remélem, ez az e-mail jól találja Önt." & _ vbNewLine & vbNewLine & _ "Tisztelettel," & vbNewLine & "Exceldemy" 'Ha csatolni akarja ezt a munkafüzetet, akkor távolítsa el ezt a két sort alulról 'Source = ThisWorkbook.FullName 'eItem.Attachments.Add Source eItem.Display 'can use .Send End Sub 

VBA kód lebontása

  • Először is, hívjuk a Aleljárás Macro_Send_Email .
  • Másodszor, kijelentjük, hogy a változó típusok.
  • Harmadszor, kiválasztjuk Outlook mint a mi Postai alkalmazás .
  • Ezután kiválasztjuk a e-mail küldő cím C5 sejt .
  • Ezután a e-mail tartalom van beállítva a kódunkban.
  • Végül, " VBA Display tulajdonság " itt arra szolgál, hogy megjelenítse a e-mail Ezért meg kell nyomnunk a Küldje el a manuálisan a küldje el a a e-mailek Továbbá, használhatjuk a " Ingatlan küldése " a e-mailek küldése megjelenítés nélkül.
  • Utána, Mentés és zárja be a Modul .

Most pedig Fuss a kódot.

  • Először is, a Fejlesztő tab>>>> select Makrók .

A Makró párbeszédpanel megjelenik.

  • Másodszor, válassza ki a Aleljárás " Macro_Send_Email ".
  • Végül nyomja meg a Fuss .

A kód futtatása után, a kódot látjuk a e-mail ablakban. Kattinthatunk a Küldje el a Így megmutattuk az első módszert. küldése egy e-mail a címről excel a használatával VBA .

Bővebben: E-mail küldése az Excel VBA-ból Outlook nélkül (4 megfelelő példák)

2. Makró az e-mail küldéséhez a Gmail fiókból Excelben

Ehhez a módszerhez a következőkre van szükségünk kevésbé biztonságos alkalmazás-hozzáférés a Gmail Ezen kívül engedélyeznünk kell a Microsoft CDO a Hivatkozások menü.

Lépések:

  • Először is, az első módszer szerint , hozza fel a Hivatkozások párbeszédpanel .
  • Másodszor, válassza a " Microsoft CDO for Windows 2000 könyvtár " és nyomja meg a OK .

  • Harmadszor, menjen a Biztonság az Ön Google fiók beállításai .
  • Végül kapcsolja be Kevésbé biztonságos alkalmazás-hozzáférés .

Most pedig beírjuk a Makró kód.

  • Először is, az 1. módszer szerint , hozza fel a Modul ablakban, és írja be ezt a kódot.
 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 = "Makró Gmail küldésére" cFrom = "[email protected]" cTo = "[email protected]" cBody = "Hello. Ez egy automatikus üzenet. Kérjük, ne válaszoljon" 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/sendername") = "[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 kód lebontása

  • Először is, hívjuk a Aleljárás Send_Gmail_Macro .
  • Másodszor, kijelentjük, hogy a változó típusok.
  • Harmadszor, beállítjuk a e-mail tartalom a kódunkban.
  • Aztán, mi biztosítjuk a bejelentkezési adatok . Be kell írnia a saját ID és Jelszó itt.
  • Ezután, mi már elindultunk port a címre. 465 .
  • Végül, mi vagyunk küldése a e-mail .
  • Akkor, Mentés és Fuss ez a kód.

Sikeresen küldött egy e-mail a címünkre.

Olvass tovább: Makró az Excelből küldött e-mail küldéséhez a testtel (3 hasznos eset)

3. E-mail küldése egy oszlopból a címzettek listájára

A harmadik módszerhez a következőket fogjuk használni e-mailek küldése a címre. 7 emberek, akik Makró a címről Excel Megtaláljuk az utolsó sor az adathalmazunk, ezért a kódunk hosszabb listára is működik. Mi a e-mailek küldése a C5:C10 cella tartományban.

Lépések:

  • Először is, az 1. módszer szerint , hozza fel a Modul ablakban, és írja be ezt a kódot.
 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 kód lebontása

  • Először is, hívjuk a Aleljárás Macro_Send_Email_From_A_List_List .
  • Másodszor, kijelentjük, hogy a változó típusok.
  • Harmadszor, kiválasztjuk Outlook mint a mi Postai alkalmazás .
  • Aztán megtaláljuk a utolsó sor , ami 10 a mi adatállományunkhoz.
  • Ezután, mint a mi e-mail kezdődik 5. sor már beadtuk 5 mint a " változó z ". Továbbá, a mi e-mailek a C oszlop , ezért adtuk meg 3 a Sejtek ingatlan.
  • Ezután beállítjuk a e-mail tartalom a kódunkban.
  • Végül, " .Display " itt arra szolgál, hogy megjelenítse a e-mail Ezért meg kell nyomnunk a Küldje el a manuálisan a küldje el a a e-mailek Továbbá, használhatjuk a " .Send " a e-mail küldése megjelenítés nélkül.
  • Akkor, Mentés és Fuss a Modul .

Láthatjuk, hogy az összes e-mailek megjelennek a BCC Összefoglalva, egyszerűen megnyomhatjuk a Küldje el a a feladatunk elvégzéséhez.

Bővebben: Hogyan küldhetünk e-mailt az Excel listáról (2 hatékony módszer)

Hasonló olvasmányok

  • Hogyan küldhet automatikusan e-mailt, ha az Excelben teljesül a feltétel
  • Hogyan ossza meg az Excel-fájlt online (2 egyszerű módszer)
  • Emlékeztető e-mail automatikus küldése egy Excel-munkalapról a VBA használatával
  • Hogyan küldjön e-mailt, ha az Excelben teljesülnek a feltételek (3 egyszerű módszer)
  • Hogyan lehet engedélyezni a munkafüzet megosztását az Excelben

4. Makró egyetlen lap elküldéséhez e-mailben

Ebben a szakaszban küldje el a a Aktív munkalap a célszemélyünkhöz. Itt ki kell választanunk a helyét, ahol a Excel fájl.

Lépések:

  • Először is, az 1. módszer szerint , hozza fel a Modul ablakban, és írja be ezt a kódot.
 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:\Users\Rafi\OneDrive\Desktop\Softeko\47\" & fxName Set pApp = CreateObject("Outlook.Application") Set pMail = pApp.CreateItem(0) With pMail .To = "[email protected]" .Subject = "Makró az egyes lapok e-mailben történő elküldéséhez" .Body = "Tisztelt CímzettNév," & vbCrLf & vbCrLf & _ "A kért fájl csatolva van" .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 kód lebontása

  • Először is, hívjuk a Aleljárás Macro_Email_Single_Sheet .
  • Másodszor, kijelentjük, hogy a változó típusok.
  • Harmadszor, lemásoljuk a Aktív lap és különálló Munkafüzet .
  • Ezután kiválasztjuk Outlook mint a mi Postai alkalmazás .
  • Ezután beállítjuk a e-mail tartalom a kódunkban.
  • Ezután csatoltuk a Sheet a e-mail .
  • Végül használja a " .Display ", hogy megjelenítse a e-mail Ezért meg kell nyomnunk a Küldje el a manuálisan a küldje el a a e-mailek Továbbá, használhatjuk a " .Send " a e-mail küldése megjelenítés nélkül.
  • Akkor, Mentés és Fuss a Modul .

Majd meglátjuk a Sheet név az ablakban. Nyomja meg a Küldje el a a feladat elvégzéséhez.

Tudunk nyitott a fájlt, és ellenőrizze, hogy a kódunk működik-e.

Bővebben: Szerkeszthető Excel-táblázat küldése e-mailben (3 gyors módszer)

5. Makró az e-mail küldéséhez a cellák értéke alapján

Az utolsó módszerhez egy kicsit megváltoztattuk az adatkészletünket. Hozzáadtuk a " Fizetés Due " oszlop az adathalmazhoz. Itt, mi lesz a küldje el a egy e-mail amely tartalmazza a várost " Obama ". Világosan láthatjuk, hogy 5. sor tartalmazza, ezért fogjuk küldje el a egy e-mail csak az adott személynek.

Lépések:

  • Először is, az 1. módszer szerint , hozza fel a Modul ablakban, és írja be ezt a kódot.
 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 = "fizetési kérelem" 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 & ", Kérjük, fizesse ki az esedékes összeget a következő héten." _ & vbNewLine & "A pontos összeget csatoltuk ehhez az e-mailhez." .Attachments.Add ActiveWorkbook.FullName 'A fájl elküldése e-mailben .Display 'Itt is használhatjuk a .Send-et End With Set pMail = Nothing Set pApp = Nothing End Sub End Sub 

VBA kód lebontása

  • Először is, hívjuk az első Aleljárás Send_Email_Condition .
  • Másodszor, kijelentjük, hogy a Változó típusok és beállítások " Feltételek " mint a mi Sheet .
  • Harmadszor, az utolsó sor számot találunk. Ráadásul az értékünk a következő értéktől kezdődik 5. sor , ezért tettük 5. sor az utolsó sor a kódunkban.
  • Ezután hívjuk a második Aleljárás Send_Email_With_Multiple_Condition (Küldés_Emailek_többféle_feltétellel) .
  • Ezután kiválasztjuk Outlook mint a mi Postai alkalmazás .
  • Ezután a e-mail tartalom van beállítva a kódunkban.
  • Itt csatoljuk a Excel fájl a e-mail a Csatolás módszer.
  • Ezután " .Display " itt arra szolgál, hogy megjelenítse a e-mail Ezért meg kell nyomnunk a Küldje el a manuálisan a küldje el a a e-mailek Továbbá, használhatjuk a " .Send " a e-mail küldése megjelenítés nélkül.
  • Akkor, Mentés és Fuss a Modul .

Összefoglalva, megmutattunk egy újabb módszert a küldése egy e-mail a használatával VBA makró a címről Excel .

Bővebben: Automatikusan küldjön e-maileket az Excelből a cellák tartalma alapján (2 módszer)

Gyakorlati szekció

Gyakorlati adatkészleteket adtunk hozzá minden egyes módszerhez a Excel fájl.

Következtetés

Megmutattuk neked 5 használandó módszerek Makró a címre. küldje el a egy e-mail a címről Excel Köszönöm, hogy olvastál, továbbra is kiválóan teljesítesz!

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.