KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como imprimir todos os anexos de um ou vários e-mails no Outlook?

AutorKelly Data de Modificação

Como sabe, ao clicar em Ficheiro > Imprimir no Microsoft Outlook, apenas o conteúdo do e-mail — como o cabeçalho e o corpo — é impresso, mas não os anexos. Aqui mostramos-lhe como imprimir facilmente todos os anexos de um e-mail selecionado no Microsoft Outlook.


Imprima todos os anexos numa mensagem de e-mail, um a um

O Microsoft Outlook disponibiliza a funcionalidade Impressão Rápida, que lhe permite imprimir os anexos de uma mensagem de e-mail, um a um.

1. Selecione a mensagem de e-mail cujos anexos pretende imprimir posteriormente.

2. Clique num anexo deste e-mail.

passos para imprimir todos os anexos numa mensagem de e-mail, um a um

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

passos para imprimir todos os anexos numa mensagem de e-mail, um a um
Nota: o Ferramentas de Anexosó será ativado quando clicar nos anexos dos e-mails.

4. Aparece uma caixa de diálogo Abrir Anexo de Correio; clique no botão Abrir.

passos para imprimir todos os anexos numa mensagem de e-mail, um a um

Tenha em atenção que este passo abrirá e imprimirá simultaneamente o anexo selecionado.

Para imprimir outros anexos neste e-mail, repita os passos 2 a 4.

Guarde/exporte rapidamente todos os anexos de vários e-mails no Outlook

Normalmente, podemos guardar anexos de um único e-mail ao ativar as Ferramentas de Anexo e utilizar a funcionalidade Guardar Todos os Anexos no Outlook. Mas e se pretender guardar anexos de vários e-mails ou de toda uma pasta de correio? Experimente a funcionalidade Guardar Tudo (Anexos) do Kutools para Outlook.

guardar anexos em vários e-mails kto9

Imprima em lote todos os anexos numa mensagem de e-mail

Se houver muitos anexos numa única mensagem de e-mail, imprimi-los um a um será demorado. O método seguinte mostra-lhe como fazer Impressão em Lote de todos os anexos de uma mensagem de e-mail selecionada, de forma fácil e rápida.

1. Selecione a mensagem de e-mail cujos anexos pretende imprimir.

2. No Outlook 2010 ou versões posteriores, clique em Ficheiro > Imprimir > Opções de Impressão. Veja a seguinte captura de ecrã:

passos para impressão em lote de todos os anexos numa mensagem de e-mail

3. Na caixa de diálogo Imprimir, marque a opção Imprimir Anexo. Os anexos serão impressos apenas na impressora predefinida na secção opções de impressão.

passos para impressão em lote de todos os anexos numa mensagem de e-mail

4. Clique no botão Imprimir.

5. Na caixa de diálogo pop-up Abrir Anexo de Correio que surge, clique no botão Abrirpara continuar. ()Nota: Esta caixa de diálogo surge separadamente para cada anexo.)

passos para impressão em lote de todos os anexos numa mensagem de e-mail

Agora, todos os anexos da mensagem de e-mail selecionada serão impressos de uma só vez.


Imprima em lote 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 Emails, mantenha premidas as teclas Ctrl ou Shift para selecionar vários e-mails cujos anexos pretende imprimir.

2. Prima em simultâneo as teclas Alt + F11 para abrir a janela do Microsoft Visual Basic for Applications.

3. Na janela do Microsoft Visual Basic for Applications, clique em Ferramentas > Referências. Em seguida, active a opção Microsoft Scripting Runtime, conforme mostrado abaixo. Após concluir, clique em OK.

passos para impressão em lote de todos os anexos e imagens em vários e-mails selecionados

4. Clique em Inserir > Módulo e cole o código VBA abaixo na nova janela do 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. Prima a tecla F5 ou clique no botão Executar para executar este código VBA. Agora verá que todos os anexos dos e-mails selecionados e as imagens no corpo da mensagem são impressos.

Nota:

  • Cada imagem fará aparecer uma caixa de diálogo pop-up para lhe pedir confirmação de impressão. Os restantes Tipo de Arquivo serão impressos diretamente.
  • Se existirem imagens numa assinatura de e-mail, estas também farão aparecer caixas de diálogo pop-up.
  • Se obtiver o erro As macros neste projeto estão desativadas, consulte este tutorial:Como ativar e desativar macros no Outlook?

Imprima em lote 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. No Lista de Emails, mantenha premidas as teclas Ctrlou Shiftpara selecionar vários e-mails cujos anexos pretende imprimir.

2. Prima as teclas Alt+F11em simultâneo 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 Runtimeconforme mostrado abaixo. Após concluir, clique em OK.

os passos para impressão em lote de todos os anexos em vários e-mails selecionados, exceto as imagens no corpo

4. Clique em Inserir>Móduloe cole o código VBA abaixo na nova janela do 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. Prima a tecla F5 ou clique no botão Executar para executar este código VBA. Agora verá que todos os anexos dos e-mails selecionados são impressos.

Nota:

  • Cada imagem anexada fará aparecer uma caixa de diálogo pop-up para lhe pedir confirmação de impressão. Os restantes Tipo de Arquivo serão impressos diretamente.
  • As imagens no corpo da mensagem não serão impressas.
  • Se obtiver 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 num e-mail do Outlook

 

Melhores Ferramentas de Produtividade para o Office

Experimente o totalmente novo Kutools para Outlook com 100+ funcionalidades incríveis!Clique para transferir já!

🤖KUTOOLS AI:Utiliza tecnologia avançada de IA para gerir e-mails sem esforço, incluindo responder, resumir, otimizar, alongar, traduzir e redigir mensagens.

📧Automação de E-mails: Resposta Automática (disponível para POP e IMAP) / Agendar Envio de E-mails / CC/BCC Automático por Regras ao Enviar E-mail / Encaminhamento Automático (regra avançada) / Adicionar Saudação Automaticamente / Dividir Automaticamente E-mails com Múltiplos Destinatários em Mensagens Individuais...

📨Gestão de E-mails: Recallar e-mail / Bloquear e-mails fraudulentos por assunto e outros critérios / Eliminar e-mails duplicados / Pesquisa avançada / Organizar pastas...

📁Anexos Pro: Guardar em Lote / Desanexar em Lote / Comprimir em Lote / Salvar Automaticamente / Desanexar Automaticamente / Auto Comprimir...

🌟Magia da Interface: 😊 Mais Emojis Bonitos e Divertidos / Avisa-o quando chegam e-mails importantes / Minimizar o Outlook em vez de fechá-lo...

👍Maravilhas com um Clique: Responder a Todos com Anexos / E-mails Anti-Phishing / 🕘 Mostrar Fuso Horário – Hora Atual do Remetente...

👩🏼‍🤝‍👩🏻Contactos e Calendário: Criar contactos em lote a partir de e-mails selecionados / Dividir um grupo de contactos em grupos individuais / Remover lembrete de aniversário...

Utilize o Kutools no seu idioma preferido – com suporte para inglês, espanhol, alemão, francês, chinês e mais de 40 idiomas!

Desbloqueie instantaneamente o Kutools para Outlook com um único clique! Não espere mais — transfira já e aumente a sua eficiência!

kutools for outlook features1kutools for outlook features2

🚀 Transferência com um Clique — Obtenha Todos os Extras do Office

Altamente Recomendado: Kutools for Office (5 em 1)

Um clique para transferir cinco instaladoresde uma só vez —Kutools para Excel, Outlook, Word, PowerPointe Office Tab Pro.Clique para transferir já!

  • Conveniência com um clique: Transfira os cinco pacotes de instalação numa única ação.
  • 🚀Pronto para qualquer tarefa no Office: instale os extras que precisa, exatamente quando os precisar.
  • 🧰Incluídos: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint