Saltar al contenido principal

¿Cómo imprimir todos los archivos adjuntos en uno o varios correos electrónicos en Outlook?

Como sabe, solo imprimirá el contenido del correo electrónico, como el encabezado y el cuerpo, cuando haga clic en el Archive > Imprimir en Microsoft Outlook, pero no imprima los archivos adjuntos. Aquí le mostraremos cómo imprimir todos los archivos adjuntos en un correo electrónico seleccionado cómodamente en Microsoft Outlook.


Imprima todos los archivos adjuntos en un mensaje de correo electrónico uno por uno

Microsoft Outlook nos proporciona Impresión rápida , que puede ayudarlo a imprimir archivos adjuntos en un mensaje de correo electrónico uno por uno.

1. Seleccione el mensaje de correo electrónico cuyos archivos adjuntos imprimirá más tarde.

2. Haga clic en un archivo adjunto en este correo electrónico.

3. Haga clic en Impresión rápida botón en el Acciones grupo en el Archivos adjuntos .

Nota la Herramientas de adjunto no se activará hasta que haga clic en los archivos adjuntos en los correos electrónicos.

4. Aparece un cuadro de diálogo Abrir archivo adjunto de correo y, por favor, haga clic en el Abierto del botón.

Tenga en cuenta que este paso abrirá el archivo adjunto seleccionado e imprimirá este archivo adjunto seleccionado al mismo tiempo.

Para imprimir otros archivos adjuntos en este correo electrónico, repita del Paso 2 al Paso 4.

Guarde / exporte rápidamente todos los archivos adjuntos de varios correos electrónicos en Outlook

Normalmente podemos guardar archivos adjuntos de un correo electrónico activando el Herramientas de adjunto y aplicando el Guardar todos los archivos adjuntos característica en Outlook. Pero, ¿qué sucede si guarda archivos adjuntos de varios correos electrónicos o de toda la carpeta de correo en Outlook? Prueba Kutools para Outlook Guardar todo (Adjuntos) característica.


guardar archivos adjuntos en varios correos electrónicos kto9

Imprima por lotes todos los archivos adjuntos en un mensaje de correo electrónico

Si hay muchos archivos adjuntos en un mensaje de correo electrónico, llevará mucho tiempo imprimirlos uno por uno. Y el siguiente método lo guiará a través de la impresión por lotes de todos los archivos adjuntos en un mensaje de correo electrónico seleccionado fácilmente.

1. Seleccione el mensaje de correo electrónico cuyos archivos adjuntos imprimirá más tarde.

2. En Outlook 2010 o versiones posteriores, haga clic en el Archive > Imprimir > Opciones de impresión. Vea la siguiente captura de pantalla:

3. En el cuadro de diálogo Imprimir, marque la Imprimir archivos adjuntos. Los archivos adjuntos se imprimirán solo en la impresora predeterminada opción en el Opciones de impresión .

4. Haga clic en Imprimir del botón.

5. En el cuadro de diálogo emergente Abrir archivo adjunto de correo, haga clic en el Abierto botón para seguir adelante. (Note: Este cuadro de diálogo aparecerá para cada archivo adjunto por separado).

Ahora todos los archivos adjuntos en este mensaje de correo electrónico seleccionado se imprimirán a la vez.


Imprima por lotes todos los archivos adjuntos e imágenes en varios correos electrónicos seleccionados

Para imprimir todos los archivos adjuntos en varios correos electrónicos, así como todas las imágenes en el cuerpo del mensaje en Outlook, siga los pasos a continuación para aplicar un código VBA.

1. En la lista de correo, mantenga Ctrl or Shift teclas para seleccionar varios correos electrónicos cuyos archivos adjuntos imprimirá.

2. prensa otro + F11 teclas juntas para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

3. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Herramientas > Referencias. Y luego revisa el Tiempo de ejecución de secuencias de comandos de Microsoft opción como se muestra a continuación. Una vez terminado, haga clic en OK.

4. Hacer clic recuadro > Móduloy luego pegue debajo del código VBA en la nueva ventana del módulo.

VBA: imprima todos los archivos adjuntos en varios correos electrónicos de 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. Prensa F5 o haga clic en el Ejecutar botón para ejecutar este código VBA. Ahora verá que se imprimen todos los archivos adjuntos en los correos electrónicos seleccionados y las imágenes en el cuerpo del mensaje.

Nota:

  • Cada imagen abrirá un cuadro de diálogo emergente para pedirle confirmación de impresión. Mientras que otros tipos de archivos se imprimirán directamente.
  • Si hay imágenes en una firma de correo electrónico, también aparecerán cuadros de diálogo emergentes.
  • Si lo consigues Las macros de este proyecto están deshabilitadas. error, consulte este tutorial: ¿Cómo habilitar y deshabilitar macros en Outlook?

Imprima por lotes todos los archivos adjuntos en varios correos electrónicos seleccionados, excepto las imágenes en el cuerpo

Para imprimir solo los archivos adjuntos en varios correos electrónicos pero las imágenes en el cuerpo del mensaje en Outlook, siga los pasos a continuación para aplicar un código VBA.

1. En la lista de correo, mantenga Ctrl or Shift teclas para seleccionar varios correos electrónicos cuyos archivos adjuntos imprimirá.

2. prensa otro + F11 teclas juntas para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

3. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Herramientas > Referencias. Y luego revisa el Tiempo de ejecución de secuencias de comandos de Microsoft opción como se muestra a continuación. Una vez terminado, haga clic en OK.

4. Hacer clic recuadro > Móduloy luego pegue debajo del código VBA en la nueva ventana del módulo.

VBA: imprima todos los archivos adjuntos en varios correos electrónicos de 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. Prensa F5 o haga clic en el Ejecutar botón para ejecutar este código VBA. Ahora verá que se imprimen todos los archivos adjuntos en los correos electrónicos seleccionados.

Nota:

  • Cada imagen adjunta abrirá un cuadro de diálogo emergente para solicitarle confirmación de impresión. Mientras que otros tipos de archivos se imprimirán directamente.
  • Las imágenes del cuerpo del mensaje no se imprimirán.
  • Si lo consigues Las macros de este proyecto están deshabilitadas. error, consulte este tutorial: ¿Cómo habilitar y deshabilitar macros en Outlook?

 


Demostración: imprima uno o todos los archivos adjuntos en un correo electrónico de Outlook


Consejo: En este video, Kutools pestaña es agregada por Kutools para Outlook. Si lo necesita, haga clic en esta página para tener una prueba gratuita de 60 días sin limitación!


Las mejores herramientas de productividad de oficina

Kutools para Outlook - Más de 100 potentes funciones para potenciar tu perspectiva

🤖 Asistente de correo AI: Correos electrónicos profesionales instantáneos con magia de IA: respuestas geniales con un clic, tono perfecto y dominio multilingüe. ¡Transforme el correo electrónico sin esfuerzo! ...

📧 Automatización de correo electrónico: Fuera de la oficina (disponible para POP e IMAP)  /  Programar envío de correos electrónicos  /  CC/CCO automático según reglas al enviar correo electrónico  /  Reenvío automático (reglas avanzadas)   /  Agregar saludo automáticamente   /  Divida automáticamente correos electrónicos de múltiples destinatarios en mensajes individuales ...

📨 Gestión de correo electrónico: Recuperar correos electrónicos fácilmente  /  Bloquear correos electrónicos fraudulentos por sujetos y otras personas  /  Eliminar correos electrónicos duplicados  /  Búsqueda Avanzada  /  Consolidar carpetas ...

📁 Archivos adjuntos profesionalesGuardar lote  /  Separación de lotes  /  Comprimir por lotes  /  Ahorro automático   /  Desconexión automática  /  Autocompresión ...

???? Interfaz mágica: 😊Más emojis bonitos y geniales   /  Aumente su productividad en Outlook con vistas con pestañas  /  Minimizar Outlook en lugar de cerrar ...

👍 Maravillas con un clic: Responder a todos los archivos adjuntos entrantes  /   Correos electrónicos antiphishing  /  🕘Mostrar zona horaria del remitente ...

👩🏼‍🤝‍👩🏻 Contactos y calendario: Agregar por lotes contactos de correos electrónicos seleccionados  /  Dividir un grupo de contactos en grupos individuales  /  Eliminar recordatorios de cumpleaños ...

Mas de Características 100 ¡Espere su exploración! Haga clic aquí para descubrir más.

Leer Mas       Descargar gratis      Comprar
 

 

Comments (24)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Is it possible to specify a network printer instead of always printing with the standard printer?
This comment was minimized by the moderator on the site
Dear all,

I had tried the VBA and the code runs but many popups are opening on screen to print images from the mail signature (apparently this is considered an attachment). Anyone knows how to solve it?

S.
This comment was minimized by the moderator on the site
If you don't want to print pictures in the body of a message, please use the code below:
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
This comment was minimized by the moderator on the site
Dear Amanda,

Thank you for the code. It worked!

S.
This comment was minimized by the moderator on the site
Hi there,

Sorry that printing images will bring up popups. You will have to confirm each to download all the images. If you don't need to print images, please click Cancel.

Amanda
This comment was minimized by the moderator on the site
I am using Microsoft 365 and this worked after deleting line 9. Thanks! This has saved a bit of time for me.
Rated 5 out of 5
This comment was minimized by the moderator on the site
hallo, ich möchte nur den Anhang der Mails von der angegebenen Adresse senden, wie kann ich das machen, danke
This comment was minimized by the moderator on the 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.
This comment was minimized by the moderator on the site
Hi, this worked fine for me yesterday but now it is saying 'the macros in this project are disabled' Any advice how to enable them? 
This comment was minimized by the moderator on the site
This comment was minimized by the moderator on the site
on line 9 , removing "On Error Resume Next" worked for me.
This comment was minimized by the moderator on the site
Hi everyone, we updated the VBA code in the tutorial on 2022/08/03. If you still need to print all attachments, please check the new code. 😊
This comment was minimized by the moderator on the site
Hi, I have been using this shortcut for a few weeks now, printing all attachments from multiple emails at once, and I have recently been having to remove line 9 as Nilanka said, which has been working, but this no longer works. Im getting the warning box saying the macros in this project are disabled.....and so on... if someone has a solution to make this work as it has been prior to now, please lmk, as i am selecting about 60 emails all containing attachments to print. Thanks
This comment was minimized by the moderator on the site
This comment was minimized by the moderator on the site
Thank you 
This comment was minimized by the moderator on the site
yes this just worked for me as well. Thank you!
This comment was minimized by the moderator on the site
the VBA code gives syntax is error
This comment was minimized by the moderator on the site
if a pdf has the same name the macro prints just one pdf, how can i change the code in order to modify the pdf name?
This comment was minimized by the moderator on the site
if you want to print all attachments together in 1 email here's what you do. first make a folder on your desktop....I named mine "print". go to the email with the attachments....highlight all of the attachments, right click, save all attachments to the print folder. Open the print folder.....highlight all of them.....right click.....print.



now if only I could figure out how to print all the attachments in 200 emails without opening each one and printing it.
This comment was minimized by the moderator on the site
Kutools for Outlook's Detach All (Attachments) feature can help you download all attachments from multiple emails with several clicks! https://www.extendoffice.com/product/kutools-for-outlook/outlook-detach-attachments.html
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations