KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Oferta de marzo: 20 % de descuento

¿Cómo guardar archivos adjuntos de un correo en Outlook sin abrirlo?

AutoraSiluvia Fecha de modificación

Es posible que necesite guardar con frecuencia archivos adjuntos de los correos recibidos en los discos de su ordenador. Guardar un archivo adjunto o todos los de un mismo mensaje es sencillo, pero ¿cómo hacerlo con varios correos a la vez? Normalmente, tendría que abrir cada correo repetidamente para guardar sus archivos adjuntos. ¿Existe algún truco para evitar estas operaciones repetitivas? Los métodos que se explican en este tutorial pueden ayudarle.

Guardar archivos adjuntos de uno o varios correos sin abrirlos mediante código VBA
Guardar archivos adjuntos de uno o varios correos sin abrirlos con una herramienta increíble


Guardar archivos adjuntos de uno o varios correos sin abrirlos mediante código VBA

El siguiente código VBA le permite guardar los archivos adjuntos de uno o varios correos electrónicos simultáneamente, sin necesidad de abrirlos en Outlook. Siga estos pasos:

1. Seleccione un correo o varios correos cuyos archivos adjuntos desee guardar y pulse las teclas Alt+F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Expanda la carpeta Objetos de Microsoft Outlook, haga doble clic en ThisOutlookSession para abrir la ventana de Código y copie el siguiente código VBA en ella.

guardar archivos adjuntos con VBA 1

Código VBA: Guardar archivos adjuntos sin abrir los correos

Public Sub SaveAttachmentsWithoutOpening()
'Updated by Extendoffice 20191008
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim i As Long
Dim xCount As Long
Dim xFileName As String
Dim xSavePath As String
Dim xOriginalFiles As String
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.BrowseForFolder(0, "Select a folder:", 0, strStartingFolder)
If Not TypeName(xFolder) = "Nothing" Then
    Set xFolderItem = xFolder.self
    xSavePath = xFolderItem.Path & "\"
Else
    xFileName = ""
    Exit Sub
End If
For Each xMailItem In Outlook.ActiveExplorer.Selection
    Set xAttachments = xMailItem.Attachments
    xCount = xAttachments.Count
    xOriginalFiles = ""
    If xCount > 0 Then
        For i = xCount To 1 Step -1
            Set xAttachment = xAttachments.Item(i)
            If IsEmbeddedAttachment(xAttachment) = False Then
                xFileName = xSavePath & xAttachment.FileName
                xAttachment.SaveAsFile xFileName
                xAttachment.Delete
                If xMailItem.BodyFormat <> olFormatHTML Then
                    xOriginalFiles = xOriginalFiles & vbCrLf & "file://" & xFileName
                Else
                    xOriginalFiles = xOriginalFiles & "<br>" & "<a href='file://" & xFileName & "'>" & xFileName & "</a>"
                End If
            End If
        Next i
        If xMailItem.BodyFormat <> olFormatHTML Then
            xMailItem.Body = "The file(s) were saved to " & xOriginalFiles & vbCrLf & vbCrLf & xMailItem.Body
        Else
            xMailItem.HTMLBody = "<p>" & "The file(s) were saved to " & xOriginalFiles & "</p>" & xMailItem.HTMLBody
        End If
        xMailItem.Save
    End If
Next
Set xAttachments = Nothing
Set xMailItem = 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

4. Pulse la tecla F5 para ejecutar el código. A continuación, aparecerá una ventana Examinar carpetas; seleccione la ubicación donde desea guardar los archivos adjuntos y, a continuación, haga clic en el botón Aceptar.

Así, todos los archivos adjuntos de los correos seleccionados se guardarán de inmediato en la carpeta elegida.

Nota: Todos los archivos adjuntos se desvincularán de los correos y se conservarán enlaces a sus rutas de guardado correspondientes en el cuerpo del mensaje.

guardar archivos adjuntos con VBA 2

Guardar archivos adjuntos de uno o varios correos sin abrirlos con una herramienta increíble

Si es nuevo en VBA, el método que se explica en esta sección será una opción excelente para usted.

Le recomendamos la utilidad Guardar todos los archivos adjuntos de Kutools para Outlook. Si solo desea guardar los archivos adjuntos sin desvincularlos de los correos seleccionados, la función Guardar todos los archivos adjuntos le permitirá hacerlo fácilmente. Siga estos sencillos pasos.
Antes de usar Kutools para Outlook, descárguelo e instálelo primero.

¡Diga adiós a la ineficiencia en Outlook! Kutools para Outlook hace que el procesamiento masivo de correos electrónicos sea más sencillo: ¡pruébelo gratis durante 30 días!¡Descargue Kutools para Outlook ahora!!

1. Seleccione los correos que contienen los archivos adjuntos que desea guardar y haga clic en KUTOOLS PLUS > Herramientas de archivos adjuntos > Guardar todo.

2. En el cuadro de diálogo Configuración de guardado, debe:

  • 2,1) En la sección Guardar adjuntos en esta carpeta, elija una carpeta para guardar los archivos adjuntos;
  • 2,2) El cuadro Guardar adjuntos con el siguiente estilo es opcional para crear una subcarpeta con un estilo determinado y guardar los archivos adjuntos, o bien para renombrar los archivos adjuntos guardados con un estilo específico.
  • 2,3) Haga clic en Aceptar para empezar a guardar todos los archivos adjuntos de los correos seleccionados.

Consejos: Con la configuración anterior, todos los archivos adjuntos se guardarán en la carpeta especificada. Si solo desea guardar determinados archivos adjuntos —por ejemplo, únicamente los archivos PDF cuyo nombre incluya la palabra «factura»—, puede establecer condiciones de filtro como se indica a continuación.

  • Haga clic en el botón Opciones avanzadaspara expandir las condiciones de filtro;
  • Especifique las condiciones según sus necesidades.
    Consejos: Aquí marco la casilla Nombre del adjunto contiene e introduzco «factura» en el cuadro de texto; después, marco la casilla El tipo de adjunto es e introduzco «.pdf» en el cuadro de texto.
guardar archivos adjuntos con kutools 2

3. En el cuadro de diálogo que aparece a continuación, haga clic en para continuar.

Entonces, los archivos adjuntos de los correos seleccionados se guardarán de inmediato en la carpeta especificada.

Consejos: Para desvincular los archivos adjuntos de los correos seleccionados y dejar únicamente hipervínculos a dichos archivos en el cuerpo del mensaje, puede utilizar la función Desvincular todos los archivos adjuntos.


Artículos relacionados

Descargar o guardar automáticamente archivos adjuntos de Outlook en una carpeta específica
Normalmente, puede guardar todos los archivos adjuntos de un correo haciendo clic en Archivos adjuntos > Guardar todos los archivos adjuntos en Outlook. Pero, ¿qué pasa si necesita guardar los archivos adjuntos de todos los correos recibidos y de los que lleguen en el futuro? Este artículo le ofrece dos soluciones para descargar automáticamente los archivos adjuntos de Outlook en una carpeta determinada.

Mantener archivos adjuntos al responder en Outlook
Cuando reenvías un mensaje de correo electrónico en Microsoft Outlook, los archivos adjuntos originales se conservan automáticamente en el mensaje reenviado. Sin embargo, al responder a un correo, esos archivos no se incluyen en tu nueva respuesta. A continuación, te mostramos algunos trucos para mantener los archivos adjuntos originales al responder en Microsoft Outlook.

Buscar palabras dentro del contenido de archivos adjuntos en Outlook
Al escribir una palabra clave en el cuadro de búsqueda instantánea de Outlook, esta se busca en los asuntos, cuerpos y archivos adjuntos de los mensajes, entre otros. Pero ¿y si solo quieres encontrar esa palabra clave exclusivamente dentro del contenido de los archivos adjuntos en Outlook? ¡Tenemos la solución! Este artículo te muestra paso a paso cómo buscar palabras dentro del contenido de archivos adjuntos en Outlook de forma sencilla.