1
resposta

[VBA][OUTLOOK] Problemas para salvar anexo do último e-mail não lido de determinado assunto

Estou desenvolvendo um projeto de automação com python e selenium, e uma das etapas consiste em aguardar a chegada de um e-mail com o assunto "Export - Relatório de Caso" e após isso, fazer o download do anexo na pasta indicada. Entretanto, o e-mail não está sendo baixado.

O código atualmente está assim:

Private Sub Application_NewMail()
    Dim ns As NameSpace
    Dim Inbox As MAPIFolder
    Dim Item As Object
    Dim Atmt As Attachment
    Dim FileName As String
    Set ns = GetNamespace("MAPI")
    Set Inbox = ns.GetDefaultFolder(olFolderInbox)
    Set NaoLidos = Inbox.Items.Restrict("[Unread] = True")
    If Inbox.Items.Count = 0 Then
        'MsgBox "Não há nenhum novo email na caixa de entrada!", vbInformation, ""
        Exit Sub
    End If
    For Each Item In NaoLidos
        'SmartVendas
        If Item.Subject Like "*Export - Relatório de Caso*" Then
            For Each Atmt In Item.Attachments
                FileName = "C:\Users\A0167616\Documents\rpa_robo\MARY\RPA_SALESFORCE_CASOS_BRUNA\movimentacao\arquivos_salesforce\" & Atmt.FileName
                Atmt.SaveAsFile FileName
            Next Atmt
        Item.UnRead = False
        Item.Save
        End If
    Next Item
    Set Atmt = Nothing
    Set Item = Nothing
    Set ns = Nothing
    Exit Sub
End Sub
1 resposta

Oii, Bruna! Tudo bem?

Uma possibilidade é que o problema pode estar em como os e-mails são filtrados e onde os anexos estão sendo salvos.

Como sugestão, veja se o filtro de e-mails está identificando corretamente as mensagens não lidas com o assunto "Export - Relatório de Caso". Detalhes pequenos, como um espaço extra ou caracteres especiais, podem interferir no filtro, por exemplo. Depois, garanta que a pasta onde você está tentando salvar os anexos existe e possui permissões de gravação. Confira se o caminho indicado está correto e acessível. E para checar o funcionamento, envie um e-mail de teste com o assunto certo e um anexo para ver se o processo de identificação e salvamento do anexo está funcionando. E não esqueça de revisar se o Outlook permite que o script execute essas ações, pois algumas configurações de segurança podem bloquear a execução do código.

Como parece ser um projeto externo e não temos conhecimento completo dele, podemos ajudar com sugestões para você analisar e testar. Então analise bem e aplique os testes conforme fizer sentido para o seu projeto.

Conte sempre conosco para te auxiliar no desenvolvimento durante os estudos.

Até mais, Bruna!