我有这个excel,我想分别在完成日期前15天和5天之前发送自动提醒电子邮件。
我用(= C2 + 365)将C2列加了一年,同样从D2列中减去了15天和5天。
任务可以有不同的日期。请告知在Excel中是否可行。
谢谢
答案 0 :(得分:0)
您不能从已关闭的Excel发送邮件。要么始终打开Excel,要么对每次进行测试的宏(如果now()大于E或F ...
您可以做的是使用
从代码中发送邮件并将其保存在邮箱中,直到打发一天。.DeferredDeliveryTime = Date
将“日期”作为E和F列的依据。
答案 1 :(得分:0)
您可以按照@Jo Lass的建议安排电子邮件,也可以在Outlook中设置提醒。这是我编写的代码,根据需要进行调整。它将为每个任务添加2条提醒(“要完成的日期”前5天和15天,日期取自E和F单元格)
Sub addReminder()
Dim objApt As AppointmentItem
Dim objOL As Outlook.Application
Dim LastRow As Integer
Dim d, i
Set objOL = New Outlook.Application
LastRow = Cells.Find(what:="*", After:=Range("A1"), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).row
For i = 2 To LastRow
For Each d In Array("E", "F")
With objOL.CreateItem(olAppointmentItem)
.ReminderSet = True
.start = CDate(Range(d & i).Value)
.Subject = "Task '" & Range("B" & i).Value & "' to be completed on " & Range("D" & i).Value
.ReminderMinutesBeforeStart = 0
.Save
End With
Next
Next
End Sub