VBA在Outlook 2013中运行过去2周内的邮件规则

时间:2015-06-23 15:20:28

标签: vba outlook outlook-vba outlook-2013

我有数百万条信息可追溯到就业的第一天

当我实现此代码时

Session.DefaultStore.GetRules.Item("myRuleName").Execute

它在所有消息上执行它。

但是,我只对过去两周内对邮件执行此规则感兴趣,并且只对 mailbox (shared) called "ITRequests.Mbx@example.com"

我们将Outlook 2013与Exchange一起使用

我知道如何获取当前项目,但如何将我的规则应用于这些特定邮件

 Sub MailItemByTime() 
 Dim aItem As Object
 Dim strTime As String

 Set mail = Application.ActiveExplorer.CurrentFolder
 For Each aItem In mail.Items

      'Check the message age
      If aItem.ReceivedTime > Date - 14 Then

      ' How to process these specific items ONLY????

 End If

 Next aItem

 Set aItem = Nothing
End Sub

1 个答案:

答案 0 :(得分:0)

您可以从规则中调用VBA sub,您可以在其中查看目标Outlook消息(收到消息时等)。子应该采用以下格式:

public sub Test(mail as MailItem)
    ' check out the mail object 
end sub 

您可能会发现MailItem类的ReceivedTime属性很有用。它返回一个日期,指示收到项目的日期和时间。