Excel makró az automatikus e-mail küldéshez (3 megfelelő példa)

  • Ossza Meg Ezt
Hugh West

Ez a bemutató azt mutatja be, hogyan használhatunk excel makrót egy e-mail automatikus elküldéséhez. A levelezési funkciót a következővel tudjuk beállítani VBA makrók. Így a VBA makróval egyszerre több felhasználónak is küldhetünk e-mailt. Meg kell, hogy legyen Outlook telepítve a készülékünkre, hogy automatikusan küldjön e-mailt egy makróval. Mivel a kód, amit be fogunk illeszteni, a Outlook hogy e-maileket küldjön a címzetteknek.

Gyakorlati munkafüzet letöltése

A gyakorlati munkafüzetet innen töltheti le.

E-mail automatikus küldése.xlsm

3 megfelelő példa az Excel makróra az automatikus e-mail küldéshez

Ebben a cikkben bemutatjuk, hogy 3 megfelelő példák az excel makró használatára, hogy automatikusan küldjön e-mailt a címzetteknek. Mielőtt elkezdenénk illusztrálni a példát, meg kell javítanunk egy dolgot az excel táblázatunkban. Töltse ki az alábbi lépéseket, mielőtt a makrót alkalmazná az e-mail automatikus küldéséhez.

LÉPÉSEK:

  • Először is, az adatkészletből menjen a a Fejlesztő lap Válassza ki a lehetőséget Visual Basic .

  • Ezután menjen a Szerszám lapot, és válassza ki a Hivatkozások .

  • Egy új párbeszédpanel, melynek neve ' Referenciák - VBAProject ' fog megnyílni.
  • Végül ellenőrizze a ' Microsoft Office 16.0 objektumkönyvtár ' és kattintson a OK .

1. Alkalmazza az Excel VBA makrót az automatikus e-mail küldésére a cella értéke alapján

Mindenekelőtt alkalmazzuk az excel VBA makróval automatikusan e-mailt küldünk az adatállományunk egy adott cellájának értéke alapján. A példa illusztrálására a következő adatállományt fogjuk használni. Írunk egy kódot, amely automatikusan e-mailt küld, ha a cellában lévő cellában lévő cellák értéke D6 nagyobb, mint 400 .

Lássuk a művelet végrehajtásának lépéseit.

LÉPÉSEK:

  • Kezdetnek, jobbra - kattints a címre. a lapon Cell alapján '.
  • Ezen kívül válassza ki a ' Kód megtekintése '.

  • A fenti művelet megnyit egy üres VBA kódablakot az adott munkalaphoz. Egy másik módja a kódablak megnyitásához az, hogy megnyomja a Alt + F11 .
  • Továbbá írja be a következő kódot a kódablakba:
 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 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 & vbNewLine & _ "Remélem, jól vagy" & vbNewLine & _ "Látogass el oldalunkra Exceldemy" On Error Resume Next With y .To = "Address" .cc = "" .BCC = "" .Subject = "mail küldése a cella értéke alapján" .Body = b .Display End With On Error GoTo 0 Set y = Nothing Set z = Nothing End Sub 
  • Ezután kattintson a Fuss gombot, vagy nyomja meg a F5 billentyűt a kód futtatásához.

  • Egy új párbeszédpanel, melynek neve Makrók megjelenik.
  • Ezt követően a Makró neve mezőben válassza ki a makrót ' send_mail_outlook '.
  • Most kattintson a Fuss gomb.

  • Végül, mostantól kezdve, amikor a cellában lévő cellák értékét D6> 400 egy e-mailt Outlook automatikusan generálódik a meghatározott címzettekkel. Csak rá kell kattintanunk a Küldje el a gombot az e-mail elküldéséhez.

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

2. E-mail automatikus küldése az esedékességi dátum alapján VBA makróval

A második módszer során az Excel VBA makró, amely automatikusan küld egy e-mailt, ha valamelyik projekt esedékessége közeledik. Ez olyasmi, mint egy emlékeztető. A példa szemléltetésére a következő adathalmazt használjuk. Az adathalmaz különböző értékesítők e-mailjeit, üzeneteit és a projektjük esedékességének dátumát tartalmazza.

Kövesse az alábbi lépéseket a módszer végrehajtásához.

LÉPÉSEK:

  • Először kattintson a jobb gombbal a lapra Dátum .
  • Ezután válassza ki a ' Kód megtekintése '.

  • Megnyit egy üres VBA kódablakot az aktív munkalaphoz. Meg is nyomhatjuk a Alt + F11 hogy megkapja ezt a kódablakot.
  • Ezután illessze be a következő kódot a kódablakba:
 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 aRgSubject As String Dim j As Long On Error Resume Next Set aRgDate = Application.InputBox("select the column of due").date:", _ "Send Mail Base on Date", , , , , , , , 8) If aRgDate Is Nothing Then Exit Sub Set aRgSend = Application.InputBox("select the email recipients column:", _ "Send Mail Base on Date", , , , , , , , 8) If aRgSend Is Nothing Then Exit Sub Set aRgText = Application.InputBox("Select the content column of email:", _ "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 End EndSub

  • Most használja a Fuss gomb vagy a F5 billentyűt a kód futtatásához.

  • Egy új párbeszédpanel jelenik meg.
  • Ezután a párbeszédpanel beviteli mezőjében válassza ki az esedékesség oszloptartományát. D$5:$D$9 Ezután kattintson a OK .

  • Még egy párbeszédpanel fog megjelenni.
  • Továbbá a beviteli mezőben válassza ki az oszloptartományt. B$5:$B$9 amely az e-mail címeket tartalmazza, és kattintson a OK .

  • Ezenkívül még egy ablak fog megjelenni. Válassza ki az üzenettartományt. $C$5:$C$9 a felugró ablak beviteli mezőjébe.

  • A végén az alábbi képhez hasonló eredményeket kapunk. A következő eredményt kapjuk 3 e-mailek, amelyek automatikusan létrejönnek a 3 különböző ablakok Outlook Ez nem hoz létre levelet az első két e-mail címre, mivel a két projekt esedékessége lejárt.

Bővebben: Hogyan lehet automatikusan e-mailt küldeni az Excelből dátum alapján

Hasonló olvasmányok

  • [Megoldva]: A munkafüzet megosztása nem jelenik meg az Excelben (egyszerű lépésekkel)
  • Hogyan küldhetünk e-mailt az Excel listáról (2 hatékony módszer)
  • Szerkeszthető Excel-táblázat küldése e-mailben (3 gyors módszer)
  • Makró az Excelből küldött e-mail küldéséhez (5 megfelelő példa)
  • Makró az Excel-ből származó e-mail küldéséhez a testtel (3 hasznos eset)

3. Excel makró használata az automatikus e-mail küldéshez mellékletekkel együtt

Az utolsó példában azt fogjuk látni, hogyan tudunk egy excel makrót fejleszteni, hogy automatikusan küldjünk egy e-mailt mellékletekkel. Tegyük fel, hogy van egy mellékletünk az alábbi képen. Ezt a mellékletet szeretnénk elküldeni egy e-mailben az excel segítségével. VBA makró. Ehhez szükségünk van ennek az excel fájlnak az elérési útvonalára. Itt vannak az ehhez szükséges lépések:

  • Válassza ki a fájlt ' Attachment.xlsx ' '.
  • Kattintson a ' Másolás útvonal '.

  • Tehát a fájl elérési útvonala, amit kapunk:
E:\Exceldemy\Attachment.xlsx

Ezt az elérési utat beillesztjük a makró kódunkba, hogy elküldhessük ezt a fájlt e-mailben. Kövesse az alábbi lépéseket ehhez.

LÉPÉSEK:

  • Először is, menjen a Fejlesztő lapot, és válassza ki a Visual Basic .

  • Egy új, ' Projekt - VBAProject megnyílik '.
  • Másodszor, jobb gombbal kattintva a lap nevére.
  • Ezután válassza a Beillesztés > Modul .

  • A fenti parancs megnyit egy üres VBA
  • Harmadszor, írja be a következő kódot a modulba:
 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 = "E-mail küldése VBA-val." MyMail.Body = "Ez egy minta e-mail." Attached_File = "E:\Exceldemy\Attachment.xlsx"MyMail.Attachments.Add Attached_File MyMail.send End Sub 
  • Ezután nyomja meg a F5 billentyűvel vagy kattintson a Fuss gombot a kód futtatásához.

  • Végül a kód elküldi a mellékletet a kódban megadott e-mailekre. A kód az e-maileket a következő módon küldi el Outlook . Tehát, kattintson a Engedélyezze a gombot, hogy Outlook elküldi a mellékletet a megadott e-mailekre.

Bővebben: Hogyan kell alkalmazni a makrót az Excelből származó e-mail küldésére csatolmányt tartalmazó e-mail küldésére

Következtetés

Összefoglalva, ez a cikk azt mutatja, hogy 3 példák az excel használatára VBA makró segítségével automatikusan küldhet levelet. Töltse le a cikkben megadott minta munkalapot, hogy tesztelhesse a képességeit. Ha bármilyen kérdése van, kérjük, hagyjon megjegyzést az alábbi mezőben. Csapatunk igyekszik minél hamarabb válaszolni az üzenetére. Tartsa nyitva a szemét további ötletes Microsoft Excel megoldások a jövőben.

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.