Se você deseja imprimir todos os anexos em vários e-mails selecionados em massa, pode utilizar o método apresentado neste artigo. Ele está usando um pedaço de código VBA para alcançá-lo rapidamente.
Como você pode ver, quando você seleciona um único anexo, há um recurso direto de “Impressão rápida” disponível na faixa “Anexos”. No entanto, quando você seleciona um anexo, o botão “Impressão rápida” será desativado, sem mencionar a impressão de todos os anexos em muitos e-mails selecionados. Portanto, desde que você queira imprimir em lote todos os anexos em vários e-mails de uma só vez, você deve procurar outras maneiras, como ferramentas de terceiros ou VBA. Focado nessa necessidade, aqui vamos expor um pedaço de código VBA para você, que pode te ajudar a obtê-lo simplesmente com um clique.

Imprimir em lote todos os anexos em vários e-mails
- No início, inicie seu aplicativo Outlook.
- Em seguida, na janela principal, pressione as teclas “Alt + F11” para acessar o editor VBA.
- Na janela subsequente “Microsoft Visual Basic for Applications”, abra um módulo vazio.
- Em seguida, copie os seguintes códigos VBA em tal módulo.
Sub BatchPrintAllAttachmentsinMultipleEmails()
Dim objFileSystem As Object
Dim strTempFolder As String
Dim objSelection As Outlook.Selection
Dim objItem As Object
Dim objMail As Outlook.MailItem
Dim objAttachments As Outlook.attachments
Dim objAttachment As Outlook.Attachment
Dim objShell As Object
Dim objTempFolder As Object
Dim objTempFolderItem As Object
Dim strFilePath As String
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp for Attachments " & Format(Now, "YYYY-MM-DD_hh-mm-ss")
'Create a new temp folder
MkDir (strTempFolder)
Set objSelection = Outlook.Application.ActiveExplorer.Selection
For Each objItem In objSelection
If TypeOf objItem Is MailItem Then
Set objMail = objItem
Set objAttachments = objMail.attachments
'Save all the attachments in the temp folder
For Each objAttachment In objAttachments
strFilePath = strTempFolder & "\" & objAttachment.FileName
objAttachment.SaveAsFile (strFilePath)
'Print all the files in the temp folder
Set objShell = CreateObject("Shell.Application")
Set objTempFolder = objShell.NameSpace(0)
Set objTempFolderItem = objTempFolder.ParseName(strFilePath)
objTempFolderItem.InvokeVerbEx ("print")
Next objAttachment
End If
Next
End Sub

- Posteriormente, você pode adicionar a nova macro à Barra de Ferramentas de Acesso Rápido.
- Depois disso, você deve definir o nível de segurança de macro do Outlook como baixo.
- Eventualmente, você pode tentar.
- Em primeiro lugar, na lista de e-mail, selecione vários e-mails cujos anexos você deseja imprimir.
- Em seguida, clique no novo botão de macro na Barra de Ferramentas de Acesso Rápido.
- Em seguida, todos os anexos nos e-mails selecionados serão impressos.
Cuidado com os vírus ocultos nas macros
Se você configurou o nível de segurança de macro do Outlook como baixo, terá que gastar muitos esforços bloqueando possíveis vírus em macros maliciosas. É porque os vírus podem destruir seus dados do Outlook de uma só vez. Depois que seus dados do Outlook estiverem corrompidos, você fará o possível para recuperar Outlook dados por todos os meios, como recorrer a uma ferramenta potente como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo SQL corrompido e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com