Código VBA do Excel para recuperar e-mails do Outlook
Devo escrever um código VBA que recupere emails do Outlook com base em determinadas condições. O problema que tenho é que tenho que indicar uma determinada pasta no meu código (no exemplo abaixo, a pasta indicada é "PRE Costumer". Gostaria de recuperar todos os emails da minha 'caixa de entrada' ou, melhor ainda, de todas as pastas do Outlook O problema é que minha caixa de entrada consiste em muitas subpastas (por causa das regras0. Meu problema é que talvez eu não saiba todos os nomes das subpastas (como muitos usuários vão usar a macro e até alguém pode ter os e-mails em Pastas particulares) .
Você poderia informar que há uma maneira de superar esse problema?
Por favor, deixe-me saber se esta pergunta é vaga (como eu sou novato)
Por favor, encontre a linha com a qual tenho problemas marcada com um comentário.
Sub GetFromInbox()
Dim olApp As Outlook.Application
Dim olNs As Namespace
Dim Fldr As MAPIFolder
Dim olMail As Variant
Dim i As Integer
Set olApp = New Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
'Below is the line I have problem with
Set Fldr = olNs.GetDefaultFolder(olFolderInbox).Folders("PRE Customer")
i = 1
x = Date
For Each olMail In Fldr.Items
If InStr(olMail.Subject, "transactions") > 0 _
And InStr(olMail.ReceivedTime, x) > 0 Then
ActiveSheet.Cells(i, 1).Value = olMail.Subject
ActiveSheet.Cells(i, 2).Value = olMail.ReceivedTime
ActiveSheet.Cells(i, 3).Value = olMail.SenderName
i = i + 1
End If
Next olMail
Set Fldr = Nothing
Set olNs = Nothing
Set olApp = Nothing
End Sub