Si desea imprimir todos los archivos adjuntos en varios correos electrónicos seleccionados de forma masiva, puede utilizar el método presentado en este artículo. Está utilizando un fragmento de código VBA para lograrlo en poco tiempo.
Como puede ver, cuando selecciona un solo archivo adjunto, hay una función directa de "Impresión rápida" disponible en la cinta "Archivos adjuntos". Sin embargo, cuando selecciona más de un archivo adjunto, el botón "Impresión rápida" se desactivará, sin mencionar que imprimirá todos los archivos adjuntos en muchos correos electrónicos seleccionados. Por lo tanto, siempre que desee imprimir por lotes todos los archivos adjuntos en varios correos de una sola vez, debe buscar otras formas, como herramientas de terceros o VBA. Enfocado en esta necesidad, aquí le expondremos un fragmento de código VBA, que puede ayudarlo a obtenerlo simplemente con un clic.

Imprima por lotes todos los archivos adjuntos en varios correos electrónicos
- Desde el principio, inicie su aplicación Outlook.
- Luego, en la ventana principal, presione los botones de tecla "Alt + F11" para acceder al editor de VBA.
- En la siguiente ventana de "Microsoft Visual Basic para Aplicaciones", abra un módulo vacío.
- A continuación, copie los siguientes códigos VBA en dicho 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, puede agregar la nueva macro a la barra de herramientas de acceso rápido.
- Después de eso, debe establecer su nivel de seguridad macro de Outlook en bajo.
- Eventualmente puedes intentarlo.
- En primer lugar, en la lista de correo, seleccione varios correos electrónicos cuyos archivos adjuntos desee imprimir.
- Luego haga clic en el botón de nueva macro en la barra de herramientas de acceso rápido.
- A continuación, se imprimirán todos los archivos adjuntos de los correos electrónicos seleccionados.
Tenga cuidado con los virus ocultos en las macros
Si ha configurado el nivel de seguridad de las macros de Outlook en bajo, tendrá que dedicar muchos esfuerzos a bloquear posibles virus en macros maliciosas. Es porque los virus pueden destruir sus datos de Outlook de una sola vez. Una vez que sus datos de Outlook estén corruptos, hará todo lo posible para recuperar Outlook datos por todos los medios, como recurrir a una herramienta potente como DataNumen Outlook Repair.
Introducción del autor:
Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo sql corrupto y productos de software de reparación de Outlook. Para más información visite www.datanumen.com
