Skip to main content

Como salvar anexos sem abrir o email no Outlook?

Author: Siluvia Last Modified: 2025-06-04

Você pode frequentemente precisar salvar anexos de emails recebidos para os discos do seu computador. É fácil salvar um anexo ou todos os anexos de uma mensagem de email, mas como salvar anexos de vários emails de uma só vez? Normalmente, você precisa abrir repetidamente os emails e salvar os anexos. Existe algum truque para se livrar dessas operações repetitivas? Aqui, os métodos neste tutorial podem ajudá-lo.

Salvar anexos de um ou mais emails sem abrir com código VBA
Salvar anexos de um ou mais emails sem abrir com uma ferramenta incrível


Salvar anexos de um ou mais emails sem abrir com código VBA

O código VBA abaixo pode ajudar a salvar anexos de um ou mais emails ao mesmo tempo sem abrir os emails no Outlook. Por favor, siga as instruções abaixo.

1. Selecione um email ou vários emails dos quais você salvará os anexos, pressione as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.

2. Expanda a pasta Objetos do Microsoft Outlook, clique duas vezes em ThisOutlookSession para abrir a janela Código, e depois copie o seguinte código VBA nela.

save attachments with VBA 1

Código VBA: Salvar anexos sem abrir os emails

Public Sub SaveAttachmentsWithoutOpening()
'Updated by Extendoffice 20191008
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim i As Long
Dim xCount As Long
Dim xFileName As String
Dim xSavePath As String
Dim xOriginalFiles As String
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.BrowseForFolder(0, "Select a folder:", 0, strStartingFolder)
If Not TypeName(xFolder) = "Nothing" Then
    Set xFolderItem = xFolder.self
    xSavePath = xFolderItem.Path & "\"
Else
    xFileName = ""
    Exit Sub
End If
For Each xMailItem In Outlook.ActiveExplorer.Selection
    Set xAttachments = xMailItem.Attachments
    xCount = xAttachments.Count
    xOriginalFiles = ""
    If xCount > 0 Then
        For i = xCount To 1 Step -1
            Set xAttachment = xAttachments.Item(i)
            If IsEmbeddedAttachment(xAttachment) = False Then
                xFileName = xSavePath & xAttachment.FileName
                xAttachment.SaveAsFile xFileName
                xAttachment.Delete
                If xMailItem.BodyFormat <> olFormatHTML Then
                    xOriginalFiles = xOriginalFiles & vbCrLf & "file://" & xFileName
                Else
                    xOriginalFiles = xOriginalFiles & "<br>" & "<a href='file://" & xFileName & "'>" & xFileName & "</a>"
                End If
            End If
        Next i
        If xMailItem.BodyFormat <> olFormatHTML Then
            xMailItem.Body = "The file(s) were saved to " & xOriginalFiles & vbCrLf & vbCrLf & xMailItem.Body
        Else
            xMailItem.HTMLBody = "<p>" & "The file(s) were saved to " & xOriginalFiles & "</p>" & xMailItem.HTMLBody
        End If
        xMailItem.Save
    End If
Next
Set xAttachments = Nothing
Set xMailItem = Nothing
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

4. Pressione a tecla F5 para executar o código. Em seguida, uma janela BrowseForFolder aparecerá, por favor, selecione uma pasta para salvar os anexos e clique no botão OK.

Todos os anexos nos emails selecionados serão salvos na pasta escolhida imediatamente.

Observação: Todos os anexos serão desanexados dos emails e manterão os links dos caminhos de salvamento correspondentes no corpo do email.

save attachments with VBA 2

Salvar anexos de um ou mais emails sem abrir com uma ferramenta incrível

Se você é novo no VBA, o método desta seção será uma boa escolha para você.

Aqui recomendamos o Salvar Todos os anexos utilitários do Kutools para Outlook para você. Se você apenas deseja salvar os anexos sem desanexá-los dos emails selecionados, o recurso Salvar Todos os anexos pode ajudá-lo a fazer isso facilmente. Por favor, siga as instruções abaixo.
Antes de aplicar o Kutools para Outlook, por favor baixe e instale-o primeiro.

Desbloqueie a máxima eficiência de e-mail com o Kutools para Outlook! Acesse 70 recursos poderosos totalmente grátis, para sempre. Faça o download da Versão Gratuita Agora!

1. Selecione os emails que contêm os anexos que você salvará, clique em Kutools Plus > Ferramentas de AnexoSalvar Todos.

2. Na caixa de diálogo Configurações de Salvamento, você precisa:

  • 2.1) Na seção Salvar anexos nesta pasta, escolha uma pasta para salvar os anexos;
  • 2.2) A caixa Salvar anexos com o seguinte estilo é opcional para criar uma subpasta com certo estilo para salvar os anexos ou renomear os anexos salvos com certo estilo.
  • 2.3) Clique em OK para começar a salvar todos os anexos dos emails selecionados.

Dicas: Com as configurações acima, todos os anexos serão salvos na pasta especificada. Se você quiser salvar apenas alguns anexos específicos, como arquivos PDF com a palavra "invoice" no nome do arquivo, você pode configurar as condições de filtro conforme segue.  

  • Clique no botão Opções avançadas para expandir as Condições de filtro;
  • Especifique as condições com base nas suas necessidades.
    Dicas: Aqui eu marco a opção Nome do Anexo contém e então digito "invoice" na caixa de texto, depois marco a opção Tipo do Anexo caixa, digite ".pdf" na caixa de texto.
save attachments with kutools 2

3. Na próxima caixa de diálogo que aparecer, clique em Sim para continuar.

Os anexos nos emails selecionados são salvos na pasta especificada imediatamente.

Dicas: Para desanexar anexos dos emails selecionados e deixar apenas os hiperlinks dos anexos no corpo do email, o recurso Desanexar Todos os anexos pode ajudar.


Artigos relacionados

Baixar/Salvar automaticamente anexos do Outlook para uma pasta específica
Geralmente falando, você pode salvar todos os anexos de um email clicando em Anexos > Salvar Todos os Anexos no Outlook. Mas, se você precisar salvar todos os anexos de todos os emails recebidos e recebendo emails, alguma ideia? Este artigo apresentará duas soluções para baixar automaticamente anexos do Outlook para uma pasta específica.

Manter anexos ao responder no Outlook
Quando encaminhamos uma mensagem de email no Microsoft Outlook, os anexos originais dessa mensagem de email permanecem na mensagem encaminhada. No entanto, quando respondemos a uma mensagem de email, os anexos originais não serão anexados na nova mensagem de resposta. Aqui vamos introduzir alguns truques sobre como manter os anexos originais ao responder no Microsoft Outlook.

Pesquisar palavras dentro de anexos (conteúdo) no Outlook
Ao digitar uma palavra-chave na caixa de Pesquisa Instantânea no Outlook, ele pesquisará a palavra-chave nos assuntos, corpos, anexos, etc., dos emails. Mas agora eu só preciso pesquisar a palavra-chave no conteúdo do anexo no Outlook, alguma ideia? Este artigo mostra as etapas detalhadas para pesquisar palavras dentro do conteúdo de anexos no Outlook facilmente.