Ir ao conteúdo
  • Cadastre-se

Excel Abrir anexo do Outlook VBA


Posts recomendados

Boa noite pessoal,

 

Preciso abrir uma planilha anexa que recebo diariamente em meu e-mail, copiar as informações e colar em outra planilha. O que eu preciso é um código para abrir esse arquivo anexo no Outlook. O arquivo tem o mesmo nome porém com a data do dia do envio no final (teste - 29/12/2021).

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Tente assim:

 

Dim olitem As Object
Dim lrow As Integer
Dim olattach As Object
Dim str As String

Const num As Integer = 6
Const path As String = "D:\Documents\Excel\Email\Outlook\AnexosMsg\Anexos\" 'Salva os anexos (CRIE ESSA PASTA)
Const emailpath As String = "D:\Documents\Excel\Email\Outlook\AnexosMsg\Msg\" 'Salva os Email's (CRIE ESSA PASTA)
Const olFolderInbox As Integer = 6

Set olp = CreateObject("Outlook.application")
Set olmapi = olp.getnamespace("MAPI")
Set olmail = olmapi.getdefaultfolder(num)

If olmail.items.restrict("[UNREAD]=True").Count = 0 Then

    MsgBox ("Nenhum e-mail não lido")

    Else

        For Each olitem In olmail.items.restrict("[UNREAD]=True")
            lrow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row + 1

            Range("A" & lrow).Value = olitem.Subject
            Range("B" & lrow).Value = olitem.senderemailaddress
            Range("C" & lrow).Value = olitem.to
            Range("D" & lrow).Value = olitem.cc
            Range("E" & lrow).Value = olitem.body

            If olitem.attachments.Count <> 0 Then
                For Each olattach In olitem.attachments
                If Left(olattach.Filename, 5) = "teste" Then 'Busca o nome comum dos anexos, neste exemplo a palávra teste tem 5 caracteres
                olattach.SaveAsFile path & olattach.Filename & " - " & Format(Date, "MM-dd-yyyy")
            End If
            Next olattach

            End If
    str = olitem.Subject
    str = Replace(str, "/", "-")
    str = Replace(str, "|", "_")
    Debug.Print str
            olitem.SaveAs (emailpath & str & ".msg")
            olitem.unread = False
            DoEvents
            olitem.Save
        Next olitem

End If

ActiveSheet.Rows.WrapText = False

MsgBox "Fim"

End Sub

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!