2015-06-23 2 views
0

я миллионы сообщений, начиная с первого дня работыVBA для выполнения правил, касающихся сообщений в течение последних 2-х недель в Outlook, 2013

Когда я реализую этот код

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

Он выполняет его все сообщения.

Однако я заинтересован только в выполнении этого правила на сообщения в течение последних двух недель, и только на mailbox (shared) called "[email protected]"

Мы используем Outlook 2013 с обменом


Я знаю, как получить текущие позиции, но как я применяю свои правила к этим конкретным почтовым отправлениям

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 

ответ

0

Вы можете c все элементы VBA из правила, в котором вы можете проверить целевое сообщение Outlook (когда оно было получено и т. д.). Суб должен быть в следующем формате:

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

Вы можете найти ReceivedTime свойство класса MailItem полезно. Он возвращает дату, указывающую дату и время, в которое был получен элемент.

+0

Как я могу запустить правило для определенных MailItems? –