Hogyan lehet e-mailt küldeni, ha az Excel határidejét betartotta?
Az alábbi képernyőképen látható módon, ha a C oszlopban megadott határidő 7 napnál kisebb vagy egyenlő (például az aktuális dátum 2017/9/13), akkor a rendszer e-mailt küld az A oszlopban megadott címzettnek, és a A B oszlopban megadott tartalom megjelenik az e-mail törzsében. Hogyan tudnád elérni? Ez a cikk egy VBA-kódot tartalmaz, amely segít a feladat végrehajtásában.
Küldjön e-mailt, ha a határidő lejárt VBA kóddal
Küldjön e-mailt, ha a határidő lejárt VBA kóddal
Kérjük, tegye a következőket, hogy e-mailben küldjön emlékeztetőt, ha az esedékességi dátumot betartotta az Excel.
1. megnyomni a más + F11 gombok egyszerre a Microsoft Visual Basic for Applications ablak.
2. Ban,-ben Microsoft Visual Basic for Applications ablakot, kérjük kattintson betétlap > Modulok. Ezután másolja és illessze be az alábbi VBA kódot a Modul ablakba.
VBA kód: E-mail küldése, ha az esedékesség dátuma le van zárva az Excelben
Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "<br><br>"
xMailBody = "<HTML><BODY>"
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & "</BODY></HTML>"
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub
Megjegyzések: A vonal Ha CDate (xRgDateVal) - dátum <= 7 És CDate (xRgDateVal) - Dátum> 0 Ekkor a VBA kód azt jelenti, hogy az esedékességnek 1 napnál hosszabbnak és 7 napnál rövidebbnek vagy egyenlőnek kell lennie. Szükség szerint megváltoztathatja.
3. nyomja meg a F5 billentyű a kód futtatásához. Az első felbukkanó Kutools az Excel számára párbeszédpanelen válassza ki az esedékesség oszloptartományát, majd kattintson a gombra OK gomb. Lásd a képernyőképet:
4. Ezután a második Kutools az Excel számára megjelenik a párbeszédpanel, válassza ki a megfelelő oszloptartományt, amely tartalmazza a címzettek e-mail címét, majd kattintson a gombra OK gomb. Lásd a képernyőképet:
5. Az utolsóban Kutools az Excel számára párbeszédpanelen válassza ki az e-mail törzsében megjeleníteni kívánt tartalmat, majd kattintson a gombra OK gombot.
Ezután automatikusan létrehoz egy e-mailt, amelyben a megadott címzett, tárgy és test felsorolásra kerül, ha a C. oszlopban szereplő esedékesség legfeljebb 7 nap. Kattintson a gombra Küldés gombra az e-mail elküldéséhez.
Megjegyzések:
1. Minden létrehozott e-mail megfelel egy esedékességi dátumnak. Például, ha három határidő felel meg a feltételeknek, akkor automatikusan három e-mail jön létre.
2. Ez a kód nem indul el, ha nincsenek olyan dátumok, amelyek megfelelnek a feltételeknek.
3. A VBA kód csak akkor működik, ha az Outlook programot használja e-mail programként.
Kapcsolódó cikkek:
- Hogyan küldhetünk automatikusan e-mailt az Excel cellája alapján?
- Hogyan küldhetünk e-mailt az Outlookon keresztül, amikor a munkafüzet mentésre kerül az Excelbe?
- Hogyan lehet e-mailt küldeni, ha egy bizonyos cellát módosítanak az Excelben?
- Hogyan küldhetünk e-mailt, ha az Excel gombra kattintunk?
- Hogyan küldhetünk e-mailes emlékeztetőt vagy értesítést, ha a munkafüzet frissül az Excel programban?
A legjobb irodai hatékonyságnövelő eszközök
Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz. Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...
Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját
- Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
- Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
- 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!