我正在开发一个到期控件,该控件应向人们发送文档即将到期的通知,有些文档应在到期日前 180 天收取费用,而其他文档只需 30 天,这个想法是,这个 VBA 不是通过几封电子邮件发送 1200 份文档,而是向人们发送过期文档的列表,例如:对于分析师 Valeria,我们必须发送超过 100 份过期文档的集合,但不是发送 100 封电子邮件,而是创建一个列表并将其发送到一封电子邮件中,并保留其管理副本。以下是电子表格的代码和照片:
我编写了此代码,但它不能满足我的实际需要:
Sub alerta_email()
Dim MeuOutlook As Outlook.Application
Dim CriarEmail As Outlook.MailItem
Range("E14").Activate
Do Until ActiveCell.Value = ""
If ActiveCell.Offset(0, 1).Value < Range ("F14").Value or ActiveCell.Offset(0, 1).Value < Range ("F15").Value Then
Set MeuOutlook = New Outlook.Application
Set CriarEmail = MeuOutlook.CreateItem(olMailItem)
With CriarEmail
.BodyFormat = olFormatHTML
.Display
.HTMLBody = "Automatic alert" & "<br>" & "The document: " _
& ActiveCell.Offset(0,2).Value & " Belonging to the group " _
& ActiveCell.Offset(0, -3).Value & " It will expire in " _
& ActiveCell.Offset(0, 1).Value & " days."
.To = Range("N14").Value
.CC = Range ("O14").Value
.Subject = "Contract expiration alert: " &
ActiveCell.Offset(0, -2).Value
.Send
End With
End If
ActiveCell.Offset(1, 0).Select
Loop
MsgBox ("Alert sent successfully")
End Sub
当我运行宏时,它还会考虑未过期的文档。她考虑将整个列表仅发送给 Ana 和她的经理,而不是考虑另一位分析师和这位分析师的另一位经理。