我需要写一个公式来识别某人的生日,并触发www.zapier.com。]
我有一个生日识别公式,可以创建“发送电子邮件”超链接,但我需要它以非交互方式自动发送(并延迟到上午10点)。我也在VBA中做了一些事情,但我只设法编写将该消息发送给1个人的代码。
这是工作生日识别公式。客户名称在C8列:C100,电子邮件在D8:D100,DOB在E8:E100,“发送邮件”超链接在F:100。
=IF(TEXT(E13;"d.m")=TEXT(TODAY();"d.m");HYPERLINK("mailto:"&D13&"? subject="&$D$2&"&body="&SUBSTITUTE(SUBSTITUTE($E$3;"$";C13);"@";$D$4);"pošalji čestitku");"")
“pošaljičestitku”=发送邮件(克罗地亚语)
VBA代码:
Private Sub CommandButton1_Click()
POŠALJIROĐENDANSKEČESTITKE
End Sub
Public Function POŠALJIROĐENDANSKEČESTITKE()
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")
Dim olMail As Outlook.MailItem
Set olMail = olApp.CreateItem(olMailItem)
olMail.To = Cells.Range("D8:D1000")
olMail.subject = "Sretan rođendan"
olMail.Body = "Poštovani," & vbCrLf & vbCrLf & "Želimo Vam sretan rođendan"
& vbCrLf & vbCrLf & "Sve najbolje," & vbCrLf & vbCrLf & "svinaweb"
olMail.Send
End Function
当我点击命令按钮时,此代码只是将消息发送到一封电子邮件,但正如我所说,我希望将其发送给今天有生日的每个人,并延迟将电子邮件发送到上午10点而不是午夜。
我正在使用Excel 2013。
答案 0 :(得分:0)
MailItem类的Recipients属性返回一个Recipients集合,该集合表示Outlook项目的所有收件人。
Recipients类提供Add方法来创建新的Recipient对象并将其添加到Recipients对象。 Type属性返回或设置收件人的类型。它可以是以下OlMailRecipientType常量之一:olBCC,olCC,olOriginator或olTo。
因此,您可以将单个电子邮件发送给所有人。您只需将它们添加到Recipients集合中即可。或者,如果您需要拥有单独的邮件正文,则可以创建单独的电子邮件。
MailItem类的DeferredDeliveryTime属性允许设置一个日期,指示邮件传递的日期和时间。