O que é a sintaxe do VBA para fazer referência a uma pasta no Outlook 2013?

1

Trabalhando em algum código para marcar itens como lidos quando eles são movidos para a pasta 'Arquivo', que está no mesmo nível das minhas pastas padrão (Caixa de Entrada, Enviado, etc.). O código abaixo foi meu teste inicial usando a pasta de itens excluídos padrão. Qual é a sintaxe apropriada para que eu possa referenciar os itens na minha pasta Arquivo?

Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
  Dim Ns As Outlook.NameSpace
  Set Ns = Application.GetNamespace("MAPI")
  Set Items = Ns.GetDefaultFolder(olFolderDeletedItems).Items

End Sub

Private Sub Items_ItemAdd(ByVal Item As Object)
    Item.UnRead = False
    Item.Save
End Sub 
    
por Gryphoenix 30.08.2017 / 16:08

1 resposta

1

Descobrimos que é mais fácil chamar o método PickFolder do que tentar descobrir como referenciar a pasta Archive. Agora meu código funciona corretamente.

Option Explicit

Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
  Dim Ns As Outlook.NameSpace
  Dim myFolder As Outlook.Folder


  Set Ns = Application.GetNamespace("MAPI")

  Set myFolder = Ns.PickFolder

  Set Items = myFolder.Items

End Sub

Private Sub Items_ItemAdd(ByVal Item As Object)
    Item.UnRead = False
    Item.Save
End Sub
    
por 30.08.2017 / 18:28