Cómo imprimir por lotes todos los archivos adjuntos en varios correos electrónicos con Outlook VBA

Comparte ahora:

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 con Outlook VBA

Imprima por lotes todos los archivos adjuntos en varios correos electrónicos

  1. Desde el principio, inicie su aplicación Outlook.
  2. Luego, en la ventana principal, presione los botones de tecla "Alt + F11" para acceder al editor de VBA.
  3. En la siguiente ventana de "Microsoft Visual Basic para Aplicaciones", abra un módulo vacío.
  4. 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

Código VBA: imprima todos los archivos adjuntos en varios correos

  1. Posteriormente, puede agregar la nueva macro a la barra de herramientas de acceso rápido.
  2. Después de eso, debe establecer su nivel de seguridad macro de Outlook en bajo.
  3. 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

Comparte ahora:

Los comentarios están cerrados.