Cum să trimiteți e-mail dacă data limită a fost respectată în Excel?
După cum se arată în captura de ecran de mai jos, dacă data scadentă din coloana C este mai mică sau egală cu 7 zile (de exemplu, data curentă este 2017/9/13), un e-mail este trimis destinatarului specificat în coloana A și conținutul specificat în coloana B este afișat în corpul e-mailului. Cum ai putea face pentru a-l atinge? Acest articol oferă un cod VBA pentru a vă ajuta să îndepliniți această sarcină.
Trimiteți un e-mail dacă data scadenței a fost respectată cu codul VBA
Trimiteți un e-mail dacă data scadenței a fost respectată cu codul VBA
Vă rugăm să procedați după cum urmează pentru a trimite un memento prin e-mail dacă data limită a fost respectată în Excel.
1. apasă pe Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.
2. În Microsoft Visual Basic pentru aplicații fereastra, faceți clic pe Insera > Module. Apoi copiați și lipiți codul VBA de mai jos în fereastra Module.
Cod VBA: trimiteți e-mail dacă data limită este închisă în Excel
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
notițe: Linia Dacă CDate (xRgDateVal) - Data <= 7 Și CDate (xRgDateVal) - Data> 0 Apoi, în codul VBA înseamnă că data scadenței trebuie să fie mai mare de 1 zi și mai mică sau egală cu 7 zile. Îl puteți schimba după cum aveți nevoie.
3. presa il Tasta F5 pentru a rula codul. În prima popping up Kutools pentru Excel caseta de dialog, vă rugăm să selectați intervalul de coloane pentru data scadentă și apoi faceți clic pe OK buton. Vedeți captura de ecran:
4. Apoi al doilea Kutools pentru Excel apare caseta de dialog, selectați intervalul de coloane corespunzător care conține adresele de e-mail ale destinatarilor și faceți clic pe OK buton. Vedeți captura de ecran:
5. În ultimul Kutools pentru Excel caseta de dialog, selectați conținutul pe care doriți să îl afișați în corpul e-mailului, apoi faceți clic pe OK butonul.
Apoi, va fi creat automat un e-mail cu destinatarul specificat, subiectul și corpul specificate dacă data scadenței în coloana C este mai mică sau egală cu 7 zile. Vă rugăm să faceți clic pe Trimiteți pentru a trimite e-mailul.
notițe:
1. Fiecare e-mail creat corespunde unei date scadente. De exemplu, dacă există trei date de scadență care îndeplinesc criteriile, vor fi create automat trei mesaje de e-mail.
2. Acest cod nu va fi declanșat dacă nu există date care să îndeplinească criteriile.
3. Codul VBA funcționează numai atunci când utilizați Outlook ca program de e-mail.
Legate de articole:
- Cum să trimiteți automat e-mailuri pe baza valorii celulei din Excel?
- Cum să trimiteți un e-mail prin Outlook când registrul de lucru este salvat în Excel?
- Cum să trimiteți e-mail dacă o anumită celulă este modificată în Excel?
- Cum să trimiteți e-mail dacă se face clic pe buton în Excel?
- Cum să trimiteți memento sau notificare prin e-mail dacă registrul de lucru este actualizat în Excel?
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!