Kako poslati e-pošto, če je bil datum izpolnjen v Excelu?
Kot je prikazano na spodnjem posnetku zaslona, če je rok v stolpcu C krajši ali enak 7 dni (na primer, trenutni datum je 2017/9/13), se e-poštno sporočilo pošlje navedenemu prejemniku v stolpcu A in navedena vsebina v stolpcu B je prikazana v telesu e-pošte. Kako bi lahko to dosegli? Ta članek ponuja kodo VBA, ki vam bo v pomoč pri izpolnjevanju te naloge.
Pošljite e-pošto, če je datum zapadlosti sporočen s kodo VBA
Pošljite e-pošto, če je datum zapadlosti sporočen s kodo VBA
Naredite naslednje, če želite poslati opomnik po e-pošti, če je bil rok izpolnjen v Excelu.
1. Pritisnite druga + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.
2. V Ljubljani Microsoft Visual Basic za aplikacije okno, kliknite Vstavi > Moduli. Nato kopirajte in prilepite spodnjo kodo VBA v okno modula.
Koda VBA: Pošljite e-pošto, če je rok zapadlosti v Excelu zaprt
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
Opombe: Linija Če je CDate (xRgDateVal) - Datum <= 7 in CDate (xRgDateVal) - Datum> 0 Potem v kodi VBA pomeni, da mora biti rok zapadlosti daljši od 1 dneva in manjši od 7 dni. Lahko ga spremenite po potrebi.
3. Pritisnite o Tipka F5 za zagon kode. V prvem popping up Kutools za Excel v pogovornem oknu izberite obseg stolpcev z datumom zapadlosti in kliknite OK . Oglejte si posnetek zaslona:
4. Nato drugi Kutools za Excel Pojavi se pogovorno okno, izberite ustrezen obseg stolpcev, ki vsebuje e-poštne naslove prejemnikov, in kliknite OK . Oglejte si posnetek zaslona:
5. V zadnjem Kutools za Excel v pogovornem oknu izberite vsebino, ki jo želite prikazati v telesu e-pošte, in nato kliknite OK gumb.
Nato se samodejno ustvari e-poštno sporočilo z navedenimi prejemnikom, zadevo in telesom, če je datum zapadlosti v stolpcu C krajši od 7 dni ali enak. Kliknite Pošlji gumb za pošiljanje e-pošte.
Opombe:
1. Vsako ustvarjeno e-poštno sporočilo ustreza datumu zapadlosti. Če na primer trije roki izpolnjujejo merila, bodo samodejno ustvarjena tri e-poštna sporočila.
2. Ta koda se ne bo sprožila, če datumi ne ustrezajo merilom.
3. Koda VBA deluje samo, če Outlook uporabljate kot svoj e-poštni program.
Sorodni članki:
- Kako samodejno poslati e-pošto na podlagi vrednosti celice v Excelu?
- Kako poslati e-pošto prek Outlooka, ko je delovni zvezek shranjen v Excelu?
- Kako poslati e-pošto, če je določena celica spremenjena v Excelu?
- Kako poslati e-pošto, če v Excelu kliknemo na gumb?
- Kako poslati e-poštni opomnik ali obvestilo, če je delovni zvezek posodobljen v Excelu?
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!