Como imprimir todos os anexos em um ou vários e-mails no Outlook?
Como você sabe, ao clicar em Arquivo > Imprimir no Microsoft Outlook, ele só imprime o conteúdo do e-mail, como cabeçalho e corpo, mas não imprime os anexos. Aqui mostraremos como imprimir facilmente todos os anexos de um e-mail selecionado no Microsoft Outlook.
- Imprimir todos os anexos em uma mensagem de e-mail um por um
- Impressão em lote de todos os anexos em uma mensagem de e-mail
- Impressão em lote de todos os anexos e imagens em vários e-mails selecionados
- Impressão em lote de todos os anexos em vários e-mails selecionados, exceto as imagens no corpo
Imprimir todos os anexos em uma mensagem de e-mail um por um
O Microsoft Outlook oferece a funcionalidade de Impressão Rápida, que pode ajudá-lo a imprimir anexos em uma mensagem de e-mail um por um.
1. Selecione a mensagem de e-mail cujos anexos você deseja imprimir posteriormente.
2. Clique em um anexo neste e-mail.

3. Clique no botão Impressão Rápida no grupo Ações na guia Anexos.

Observação: as Ferramentas de Anexo não serão ativadas até que você clique nos anexos nos e-mails.
4. Uma caixa de diálogo Abrindo Anexo de E-mail aparecerá, e por favor clique no botão Abrir .

Observe que esta etapa abrirá o anexo selecionado e imprimirá esse anexo ao mesmo tempo.
Para imprimir outros anexos neste e-mail, repita os passos 2 a 4.
Salvar/exportar rapidamente todos os anexos de vários e-mails no Outlook
Normalmente, podemos salvar anexos de um e-mail ativando as Ferramentas de Anexo e aplicando o recurso Salvar Todos os Anexos no Outlook. Mas, e se quisermos salvar anexos de vários e-mails ou de toda a pasta de correio no Outlook? Experimente o recurso Salvar Todos (Anexos) do Kutools para Outlook.

Impressão em lote de todos os anexos em uma mensagem de e-mail
Se houver muitos anexos em uma mensagem de e-mail, será demorado imprimi-los um por um. O método a seguir mostrará como imprimir em lote todos os anexos em uma mensagem de e-mail selecionada facilmente.
1. Selecione a mensagem de e-mail cujos anexos você deseja imprimir posteriormente.
2. No Outlook 2010 ou versões posteriores, clique em Arquivo > Imprimir > Opções de Impressão. Veja a captura de tela abaixo:

3. Na caixa de diálogo Imprimir, marque a opção Imprimir arquivos anexados. Os anexos serão impressos apenas na impressora padrão na seção Opções de Impressão.

4. Clique no botão Imprimir.
5. Na caixa de diálogo Abrindo Anexo de E-mail que aparece, clique no botão Abrir para continuar. (Nota: Esta caixa de diálogo aparecerá separadamente para cada anexo.)

Agora, todos os anexos nesta mensagem de e-mail selecionada serão impressos de uma vez.
Impressão em lote de todos os anexos e imagens em vários e-mails selecionados
Para imprimir todos os anexos em vários e-mails, bem como todas as imagens no corpo da mensagem no Outlook, siga os passos abaixo para aplicar um código VBA.
1. Na lista de e-mails, mantenha pressionadas as teclas Ctrl ou Shift para selecionar vários e-mails cujos anexos você deseja imprimir.
2. Pressione as teclas Alt + F11 juntas para abrir a janela Microsoft Visual Basic for Applications.
3. Na janela Microsoft Visual Basic for Applications, clique em Ferramentas > Referências. Em seguida, marque a opção Microsoft Scripting Runtime conforme mostrado abaixo. Quando terminar, clique em OK.

4. Clique em Inserir > Módulo, e depois cole o código VBA abaixo na nova janela de módulo.
VBA: Imprimir todos os anexos em vários e-mails do Outlook
Sub PrintAllAttachmentsInMultipleMails()
'Update by ExtendOffice 2022/08/03
Dim xShellApp As Object
Dim xFSO As Scripting.FileSystemObject
Dim xItem As Object
Dim xTempFldPath, xFilePath As String
Dim xSelItems As Outlook.Selection
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim xFile As File
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
xFSO.CreateFolder (xTempFldPath)
End If
Set xSelItems = Outlook.ActiveExplorer.Selection
Set xShellApp = CreateObject("Shell.Application")
For Each xItem In xSelItems
If xItem.Class = OlObjectClass.olMail Then
Set xMailItem = xItem
Set xAttachments = xMailItem.Attachments
For Each xAttachment In xAttachments
xFilePath = xTempFldPath & "\" & xAttachment.FileName
xAttachment.SaveAsFile (xFilePath)
Next
End If
Next
For Each xFile In xFSO.GetFolder(xTempFldPath).Files
VBA.DoEvents
Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
Next
Set xSelItems = Nothing
Set xShellApp = Nothing
Set xFSO = Nothing
End Sub
5. Pressione a tecla F5 ou clique no botão Executar para executar este código VBA. Agora você verá que todos os anexos nos e-mails selecionados e as imagens no corpo da mensagem são impressos.
Observação:
- Cada imagem exibirá uma caixa de diálogo pop-up pedindo sua confirmação para impressão. Já outros tipos de arquivos serão impressos diretamente.
- Se houver imagens em uma assinatura de e-mail, elas também exibirão caixas de diálogo pop-up.
- Se você receber o erro As macros neste projeto estão desativadas, consulte este tutorial: Como Ativar e Desativar Macros no Outlook?
Impressão em lote de todos os anexos em vários e-mails selecionados, exceto as imagens no corpo
Para imprimir apenas os anexos em vários e-mails, mas não as imagens no corpo da mensagem no Outlook, siga os passos abaixo para aplicar um código VBA.
1. Na lista de e-mails, mantenha pressionadas as teclas Ctrl ou Shift para selecionar vários e-mails cujos anexos você deseja imprimir.
2. Pressione as teclas Alt + F11 juntas para abrir a janela Microsoft Visual Basic for Applications.
3. Na janela Microsoft Visual Basic for Applications, clique em Ferramentas > Referências. Em seguida, marque a opção Microsoft Scripting Runtime conforme mostrado abaixo. Quando terminar, clique em OK.

4. Clique em Inserir > Módulo, e depois cole o código VBA abaixo na nova janela de módulo.
VBA: Imprimir todos os anexos em vários e-mails do Outlook
Sub PrintAllAttachmentsInMultipleMails()
'Update by ExtendOffice 2022/08/05
Dim xShellApp As Object
Dim xFSO As Scripting.FileSystemObject
Dim xItem As Object
Dim xTempFldPath, xFilePath As String
Dim xSelItems As Outlook.Selection
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim xFile As File
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
xTempFldPath = xFSO.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFSO.GetSpecialFolder(2) For saving temporary files
If xFSO.FolderExists(xTemfldpath) = False Then 'create temporary folder
xFSO.CreateFolder (xTempFldPath)
End If
Set xSelItems = Outlook.ActiveExplorer.Selection
Set xShellApp = CreateObject("Shell.Application")
For Each xItem In xSelItems
If xItem.Class = OlObjectClass.olMail Then
Set xMailItem = xItem
Set xAttachments = xMailItem.Attachments
For Each xAttachment In xAttachments
If IsEmbeddedAttachment(xAttachment) = False Then
xFilePath = xTempFldPath & "\" & xAttachment.FileName
xAttachment.SaveAsFile (xFilePath)
Debug.Print xFilePath
End If
Next
End If
Next
For Each xFile In xFSO.GetFolder(xTempFldPath).Files
VBA.DoEvents
Call xShellApp.ShellExecute(xFile.Path, "", "", "print", 0)
Next
Set xSelItems = Nothing
Set xShellApp = Nothing
Set xFSO = 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
5. Pressione a tecla F5 ou clique no botão Executar para executar este código VBA. Agora você verá que todos os anexos nos e-mails selecionados são impressos.
Observação:
- Cada imagem anexada exibirá uma caixa de diálogo pop-up pedindo sua confirmação para impressão. Já outros tipos de arquivos serão impressos diretamente.
- As imagens no corpo da mensagem não serão impressas.
- Se você receber o erro As macros neste projeto estão desativadas, consulte este tutorial: Como Ativar e Desativar Macros no Outlook?
Demonstração: imprimir um ou todos os anexos em um e-mail do Outlook
Melhores Ferramentas de Produtividade para Office
Notícia de Última Hora: Kutools para Outlook Lança Versão Gratuita!
Experimente agora a nova versão GRATUITA do Kutools para Outlook, com mais de70 recursos incríveis para você usar PARA SEMPRE! Clique para baixar agora!
📧 Automação de Email: Resposta automática (Disponível para POP e IMAP) / Agendar envio de emails / CC/BCC automático por Regra ao enviar email / Encaminhamento automático (Regra avançada) / Adicionar saudação automaticamente / Dividir automaticamente emails com múltiplos destinatários em mensagens individuais...
📨 Gerenciamento de Email: Recallar Email / Bloquear emails suspeitos por assunto e outros critérios / Excluir Emails Duplicados / Pesquisa Avançada / Organizar Pastas...
📁 Anexos Pro: Salvar em lote / Desanexar em lote / Comprimir em lote / Salvar automaticamente / Desanexar automaticamente / Auto Comprimir...
🌟 Interface Mágica: 😊Mais emojis bonitos e estilosos / Aviso quando emails importantes chegarem / Minimizar Outlook ao invés de fechar...
👍 Recursos com Um Clique: Responder a Todos com Anexos / Emails Anti-Phishing / 🕘Exibir o fuso horário do remetente...
👩🏼🤝👩🏻 Contatos & Calendário: Adicionar contatos em lote a partir de emails selecionados / Dividir um grupo de contatos em grupos individuais / Remover lembrete de aniversário...

