Note: The other languages of the website are Google-translated. Back to English

Como imprimir todos os anexos em um / vários e-mails no Outlook?

Como você sabe, ele só imprimirá o conteúdo do e-mail, como cabeçalho e corpo, quando você clicar no Envie o > Impressão no Microsoft Outlook, mas não imprime os anexos. Aqui vamos mostrar como imprimir todos os anexos em um e-mail selecionado com facilidade no Microsoft Outlook.


Imprima todos os anexos em uma mensagem de e-mail, um por um

O Microsoft Outlook nos fornece 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ê imprimirá mais tarde.

2. Clique em um anexo neste e-mail.

3. Clique no Impressão rápida botão no Opções grupo no Anexos aba.

Note o Ferramentas de Anexo não será ativado até que você clique nos anexos de e-mails.

4. Uma caixa de diálogo Abrindo anexo de e-mail é exibida e, por favor, clique no botão Abre botão.

Observe que esta etapa abrirá o anexo selecionado e imprimirá este anexo selecionado ao mesmo tempo.

Para imprimir outros anexos neste e-mail, repita a Etapa 2 à Etapa 4.

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

Normalmente podemos salvar anexos de um e-mail ativando o Ferramentas de Anexo e aplicando o Salvar todos os anexos recurso no Outlook. Mas, e se você salvar anexos de vários e-mails ou de toda a pasta de e-mail no Outlook? Experimente o Kutools para Outlook Salve Todos (Anexos). Clique para teste gratuito de 60 dias sem limitação!
salvar anexos em vários e-mails kto9

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. E o método a seguir o guiará facilmente pela impressão em lote de todos os anexos em uma mensagem de e-mail selecionada.

1. Selecione a mensagem de e-mail cujos anexos você imprimirá mais tarde.

2. No Outlook 2010 ou versões posteriores, clique no Envie o > Impressão > Opções de impressão. Veja a seguinte captura de tela:

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

4. Clique no Impressão botão.

5. Na caixa de diálogo de abertura de anexo de e-mail, clique no botão Abre botão para ir em frente. (Nota: Esta caixa de diálogo aparecerá para cada anexo separadamente.)

Agora todos os anexos nesta 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 emails, bem como todas as imagens no corpo da mensagem no Outlook, siga as etapas abaixo para aplicar um código VBA.

1. Na lista de discussão, por favor, segure Ctrl or mudança para selecionar vários e-mails cujos anexos você imprimirá.

2. pressione outro + F11 juntas para abrir a janela Microsoft Visual Basic for Applications.

3. Na janela Microsoft Visual Basic for Applications, clique em Ferramentas > Referências. E então verifique o Tempo de execução de scripts da Microsoft opção como mostrado abaixo. Assim que terminar, clique OK.

4. Clique inserção > Móduloe cole o código VBA abaixo na janela do novo 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 F5 ou clique no Corrida botão 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.

NOTA

  • Cada imagem exibirá uma caixa de diálogo pop-up para solicitar a confirmação da impressão. Enquanto 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ê pegar As macros neste projeto estão desabilitadas erro, por favor verifique este tutorial: Como habilitar e desabilitar macros no Outlook?

Imprima em lote todos os anexos em vários e-mails selecionados, exceto imagens no corpo

Para imprimir apenas anexos em vários emails, mas as imagens no corpo da mensagem no Outlook, siga as etapas abaixo para aplicar um código VBA.

1. Na lista de discussão, por favor, segure Ctrl or mudança para selecionar vários e-mails cujos anexos você imprimirá.

2. pressione outro + F11 juntas para abrir a janela Microsoft Visual Basic for Applications.

3. Na janela Microsoft Visual Basic for Applications, clique em Ferramentas > Referências. E então verifique o Tempo de execução de scripts da Microsoft opção como mostrado abaixo. Assim que terminar, clique OK.

4. Clique inserção > Móduloe cole o código VBA abaixo na janela do novo 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 F5 ou clique no Corrida botão para executar este código VBA. Agora você verá que todos os anexos nos e-mails selecionados são impressos.

NOTA

  • Cada imagem anexada abrirá uma caixa de diálogo pop-up para solicitar a confirmação da impressão. Enquanto outros tipos de arquivos serão impressos diretamente.
  • As imagens no corpo da mensagem não serão impressas.
  • Se você pegar As macros neste projeto estão desabilitadas erro, por favor verifique este tutorial: Como habilitar e desabilitar macros no Outlook?

 


Demonstração: imprima um ou todos os anexos em um e-mail do Outlook


Ponta: Neste vídeo, Kutools guia é adicionada por Kutools para Outlook. Se você precisar, por favor clique aqui para ter um teste gratuito de 60 dias sem limitação!


Kutools for Outlook - traz 100 recursos avançados para o Outlook e torna o trabalho muito mais fácil!

  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários emails por encomenda; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tentar responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails em segundos; Adicionar saudação automaticamente quando responder; Adicionar data ao assunto ...
  • Ferramentas de anexo: gerenciar todos os anexos em todos os e-mails, Desanexação Automática, Comprimir tudo, Renomear tudo, Salvar tudo ... Relatório rápido, Contar e-mails selecionados...
  • Lixo eletrônico poderoso por costume; Remover e-mails e contatos duplicados... Permite que você faça de maneira mais inteligente, rápida e melhor no Outlook.
tiro kutools aba kutools do outlook 1180x121
tiro kutools outlook kutools mais guia 1180x121
 
Comentários (23)
Avaliado 5 fora do 5 · classificações 1
Este comentário foi feito pelo moderador no site
Isso é muito útil, mas não me ajuda com o Office 365??
Este comentário foi feito pelo moderador no site
Eu poderia descobrir essa parte por mim mesmo - o que estou tentando descobrir é por que, apesar de fazer isso, os anexos não seriam impressos. Uma mensagem de erro aparece para cada anexo perguntando se eu quero "abrir" ou "salvar". Escolher qualquer uma das opções produz exatamente esses resultados - em outras palavras, ainda sem impressão, apenas um abrir ou salvar. Tenho 20 anexos de 4 e-mails. Eu realmente não quero ter que abrir 80 documentos só para poder imprimi-los. Há claramente alguma configuração de segurança "salve-me de mim mesmo" que precisa ser eliminada para que eu possa usar meu próprio computador e o sistema operacional que comprei e paguei. É isso que eu preciso saber.
Este comentário foi feito pelo moderador no site
Dê um duplo clique no e-mail para "pop-out" por si só. Clique com o botão direito em um dos anexos e clique em "selecionar tudo" e depois em "impressão rápida".
Este comentário foi feito pelo moderador no site
Concordo com Leah, isso não funciona. Ele apenas imprime o corpo principal do e-mail e o primeiro anexo, não todos. Precisa de instruções sobre como imprimir todos eles usando as opções "selecionar tudo" mostradas acima.
Este comentário foi feito pelo moderador no site
se você quiser imprimir todos os anexos juntos em 1 e-mail, aqui está o que você faz. primeiro crie uma pasta na sua área de trabalho... Chamei a minha "print". vá para o e-mail com os anexos....destaque todos os anexos, clique com o botão direito, salve todos os anexos na pasta de impressão. Abra a pasta de impressão..... destaque todos eles..... clique com o botão direito..... imprimir.



agora, se eu pudesse descobrir como imprimir todos os anexos em 200 e-mails sem abrir cada um e imprimi-los.
Este comentário foi feito pelo moderador no site
O recurso Detach All (Attachments) do Kutools for Outlook pode ajudá-lo a baixar todos os anexos de vários e-mails com vários cliques! https://www.extendoffice.com/product/kutools-for-outlook/outlook-detach-attachments.html
Este comentário foi feito pelo moderador no site
se um pdf tiver o mesmo nome, a macro imprime apenas um pdf, como posso alterar o código para modificar o nome do pdf?
Este comentário foi feito pelo moderador no site
o código VBA dá a sintaxe é um erro
Este comentário foi feito pelo moderador no site
na linha 9 , remover "On Error Resume Next" funcionou para mim.
Este comentário foi feito pelo moderador no site
sim, isso só funcionou para mim também. Obrigada!
Este comentário foi feito pelo moderador no site
Obrigado 
Este comentário foi feito pelo moderador no site
Olá, estou usando esse atalho há algumas semanas, imprimindo todos os anexos de vários e-mails de uma só vez, e recentemente tive que remover a linha 9 como Nilanka disse, que está funcionando, mas isso não funciona mais. Estou recebendo a caixa de aviso dizendo que as macros neste projeto estão desabilitadas ... e assim por diante ... se alguém tiver uma solução para fazer isso funcionar como antes, por favor, lmk, pois estou selecionando cerca de 60 e-mails contendo todos os anexos para impressão. Obrigado
Este comentário foi feito pelo moderador no site
Este comentário foi feito pelo moderador no site
Olá a todos, atualizamos o código VBA no tutorial em 2022/08/03. Se você ainda precisar imprimir todos os anexos, verifique o novo código. 😊
Este comentário foi feito pelo moderador no site
Oi, isso funcionou bem para mim ontem, mas agora está dizendo 'as macros neste projeto estão desabilitadas' Algum conselho sobre como habilitá-las? 
Este comentário foi feito pelo moderador no site
Este comentário foi feito pelo moderador no site
Vielen, vielen Dank dafür! Hat uns enorm viel Arbeit erspart.Auch ich musste - wie bereits in den Kommentaren geschrieben - die neunte Zeile "Dim xAttachment As Outlook.Attachment On Error Resume Next" entfernen, dann lief der Code einfandfrei durch.
Este comentário foi feito pelo moderador no site
olá, ich möchte nur den Anhang der Mails von der angegebenen Adresse senden, wie kann ich das machen, danke
Este comentário foi feito pelo moderador no site
Estou usando o Microsoft 365 e isso funcionou após a exclusão da linha 9. Obrigado! Isso economizou um pouco de tempo para mim.
Avaliado 5 fora do 5
Este comentário foi feito pelo moderador no site
Queridos todos,

Eu tentei o VBA e o código é executado, mas muitos pop-ups estão abrindo na tela para imprimir imagens da assinatura de email (aparentemente, isso é considerado um anexo). Alguém sabe como resolver?

S.
Este comentário foi feito pelo moderador no site
Oi lá,

Lamentamos que a impressão de imagens trará pop-ups. Você terá que confirmar cada um para baixar todas as imagens. Se você não precisar imprimir imagens, clique em Cancelar.

Amanda
Este comentário foi feito pelo moderador no site
Caso não queira imprimir imagens no corpo de uma mensagem, utilize o código abaixo:
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
Este comentário foi feito pelo moderador no site
Prezada Amanda,

Obrigado pelo código. Funcionou!

S.
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos