Marcação transferida automaticamente para mensagens de pastas (usando regras) como Não lidas no Outlook 2010 / Gmail

0

Ao usar o outlook 2010 e o Gmail / IMAP usando uma regra para mover uma mensagem para uma pasta, ela também é marcada como lida. Há uma pergunta anterior sobre este tópico, mas não há respostas que funcionem para mim. A primeira resposta diz que isso não deve acontecer (incorreto ao usar o Gmail / IMAP) e o segundo oferece uma opção VBA que parece não fazer nada. Eu tentei este código sem sorte:

Sub unread(MyItem As MailItem) MyItem.unread = True End Sub

Alguma sugestão além de não usar o Outlook com o Gmail (que eu gostaria de ter sido uma opção)? Preciso mover a mensagem com vba também?

EDIT: Não, marcar como lido não está marcado.

    
por amcfall 02.02.2015 / 18:01

1 resposta

0

Você pode usar o evento Items.ItemAdd

Como processar mensagens recebidas no Microsoft Outlook

O código entra no módulo interno ThisOutlookSession.

Você monitora cada pasta separadamente!

Declare um objeto de coleção Items para cada pasta WithEvents

Instanciar cada objeto de coleção Items no manipulador de eventos Application_Startup

Adicione um manipulador de eventos ItemAdd para cada objeto de coleção de itens

Option Explicit

' Sample folder directly under the inbox
Private WithEvents SubfolderAItems As Items

' Sample folder directly under SubfolderA 
Private WithEvents SubfolderBItems As Items 

Private Sub Application_Startup()

    Dim objNS As NameSpace
    Set objNS = Application.Session

    ' instantiate objects declared WithEvents
    Set SubfolderAItems = objNS.GetDefaultFolder(olFolderInbox).Folders("SubfolderA").Items
    Set SubfolderBItems = objNS.GetDefaultFolder(olFolderInbox).Folders("SubfolderA").Folders("SubfolderB").Items

    Set objNS = Nothing

End Sub

' Note: Changes behaviour of dragging items into the folder as well.
Private Sub SubfolderAItems_ItemAdd(ByVal Item As Object)
    Item.unread = True
End Sub  

Private Sub SubfolderBItems_ItemAdd(ByVal Item As Object)
    Item.unread = True
End Sub
    
por 18.02.2015 / 22:14