VBA通过后续提醒从Excel发送电子邮件

时间:2013-06-16 00:55:07

标签: vba excel-vba outlook excel

这个问题与VBA功能有关。几个月来,我一直在做一个VBA项目。该宏替换了当前手动将数据从工作簿复制/粘贴到新电子邮件中的过程,然后将该电子邮件发送给多个动态收件人(基于工作簿数据)。手动完成此过程后,电子邮件将设置为高重要性(我已通过VBA复制),并且后续提醒设置为,表示收件人,而不是发件人。

要明确的是,该过程不涉及发送任务或会议到期日等。设置后续提醒以提醒收件人在电子邮件正文中发布的截止日期前几小时对电子邮件内容采取措施。

在我寻找这个困境的答案时,我遇到了这个令人不安的论坛帖子:http://www.pcreview.co.uk/forums/setting-reminder-flag-vba-e-mails-sent-users-t3966711.html。 Sue Mosher认为,考虑到可能的缺点,这可能无法通过VBA实现。

那么,有没有人知道在VBA生成的电子邮件中设置后续提醒的方法?或者这甚至不可能?任何澄清都会非常有帮助,所以如果不可能,我可以探索其他途径。谢谢!

更新:这是可能的!我的一个朋友做了一些挖掘并发现了完成此任务的语法。

Dim MyItem as Outlook.MailItem

With MyItem
            .To = EmailAddr
            .Subject = sSubject
            .SentOnBehalfOfName = "SoAndSo@sample.com"
            .HTMLBody = Msg
            .Importance = olImportanceHigh
            .FlagStatus = olFlagMarked
            .FlagRequest = "Follow up"
            .FlagDueBy = Range("F2").Value & " 10:08 AM"
End With

主要部分为.FlagStatus.FlagRequest.FlagDueBy。使用.FlagDueBy,我在工作簿中使用了动态日期来设置截止日期,但是硬性截止日期可以编码为FlagDueBy = "1/1/1900 12:00 AM"

1 个答案:

答案 0 :(得分:3)

Dim MyItem as Outlook.MailItem

With MyItem
            .To = EmailAddr
            .Subject = sSubject
            .SentOnBehalfOfName = "SoAndSo@sample.com"
            .HTMLBody = Msg
            .Importance = olImportanceHigh
            .FlagStatus = olFlagMarked
            .FlagRequest = "Follow up"
            .FlagDueBy = Range("F2").Value & " 10:08 AM"
End With

主要部分为.FlagStatus.FlagRequest.FlagDueBy。使用.FlagDueBy,我在工作簿中使用了动态日期来设置截止日期,但是硬性截止日期可以编码为FlagDueBy = "1/1/1900 12:00 AM"