Código Excel VBA para recuperar correos electrónicos de Outlook

Debo escribir un código VBA que recuperaría correos electrónicos de Outlook según ciertas condiciones. El problema que tengo es que tengo que denotar una determinada carpeta en mi código (en el ejemplo a continuación, la carpeta indicada es "PRE Costumer". Me gustaría recuperar todos los correos electrónicos de mi 'bandeja de entrada' o, en el mejor de los casos, de todas las carpetas de Outlook El problema es que mi bandeja de entrada consta de muchas subcarpetas (debido a las reglas 0. Mi problema es que es posible que no conozca todos los nombres de las subcarpetas (ya que muchos usuarios usarán la macro e incluso alguien puede tener los correos electrónicos en Carpetas personales). .
¿Podría aconsejarme si hay alguna manera de superar este problema?
Avíseme si esta pregunta es vaga (como soy recién llegado)

Busque la línea con la que tengo problemas marcada con un comentario.

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

Respuestas a la pregunta(2)

Su respuesta a la pregunta