Skip to main content

¿Cómo guardar los archivos adjuntos sin abrir el correo electrónico en Outlook?

Author: Siluvia Last Modified: 2025-06-04

Es posible que con frecuencia necesite guardar archivos adjuntos de los correos electrónicos recibidos en los discos de su computadora. Es fácil guardar un archivo adjunto o todos los archivos adjuntos de un mensaje de correo electrónico, pero ¿cómo guardar archivos adjuntos de varios correos electrónicos a la vez? Normalmente, necesita abrir repetidamente los correos electrónicos y guardar los archivos adjuntos. ¿Hay algún truco para evitar estas operaciones repetitivas? Los métodos en este tutorial pueden ayudarle.

Guardar archivos adjuntos de uno o más correos electrónicos sin abrirlos con código VBA
Guardar archivos adjuntos de uno o más correos electrónicos sin abrirlos con una herramienta increíble


Guardar archivos adjuntos de uno o más correos electrónicos sin abrirlos con código VBA

El siguiente código VBA puede ayudar a guardar archivos adjuntos de uno o más correos electrónicos al mismo tiempo sin abrir los correos electrónicos en Outlook. Por favor, siga los siguientes pasos.

1. Seleccione un correo electrónico o varios correos electrónicos de los cuales guardará los archivos adjuntos, presione 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 luego copie el siguiente código VBA en ella.

save attachments with VBA 1

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

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. Presione la tecla F5 para ejecutar el código. Luego aparecerá una ventana ExaminarCarpeta, por favor seleccione una carpeta para guardar los archivos adjuntos y luego haga clic en el botón Aceptar.

Luego, todos los archivos adjuntos en los correos electrónicos seleccionados se guardarán inmediatamente en la carpeta seleccionada.

Nota: Todos los archivos adjuntos se desvincularán de los correos electrónicos y se mantendrán los enlaces de ruta de guardado correspondientes en el cuerpo del correo electrónico.

save attachments with VBA 2

Guardar archivos adjuntos de uno o más correos electrónicos sin abrirlos con una herramienta increíble

Si eres nuevo en VBA, el método de esta sección será una buena opción para ti.

Aquí recomendamos el Guardar todos los archivos adjuntos utilidades de Kutools para Outlook para ti. Si solo quieres guardar los archivos adjuntos sin desvincularlos de los correos electrónicos seleccionados, la función Guardar todos los archivos adjuntos puede ayudarte a hacerlo fácilmente. Por favor, sigue los siguientes pasos.
Antes de aplicar Kutools para Outlook, por favor descarga e instálalo primero.

¡Desbloquea la máxima eficiencia en el correo electrónico con Kutools para Outlook! Accede a 70 funciones poderosas completamente gratis, para siempre. ¡Descarga la versión gratuita ahora!

1. Seleccione los correos electrónicos que contienen los archivos adjuntos que desea guardar, haga clic en Kutools Plus > Herramientas de archivos adjuntos > Guardar todo.

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

  • 2.1) En la sección Guardar archivos adjuntos en esta carpeta, elija una carpeta para guardar los archivos adjuntos;
  • 2.2) El cuadro Guardar archivos adjuntos con el siguiente estilo es opcional para crear una subcarpeta con cierto estilo para guardar los archivos adjuntos, o renombrar los archivos adjuntos guardados con cierto estilo.
  • 2.3) Haga clic en Aceptar para comenzar a guardar todos los archivos adjuntos de los correos electrónicos seleccionados.

Consejos: Con las configuraciones anteriores, todos los archivos adjuntos se guardarán en la carpeta especificada. Si solo desea guardar algunos archivos adjuntos específicos, como solo guardar los archivos PDF con la palabra "factura" en el nombre del archivo, puede configurar las condiciones del filtro de la siguiente manera.

  • Haga clic en el botón Opciones avanzadas para expandir las Condiciones del filtro;
  • Especifique las condiciones según sus necesidades.
    Consejos:Aquí marco la casilla Nombre del archivo adjunto contiene y luego escribo "factura" en el cuadro de texto, luego marco la casilla Tipo de archivo adjunto y escribo ".pdf" en el cuadro de texto.
save attachments with kutools 2

3. En el siguiente cuadro de diálogo emergente, haga clic en para continuar.

Luego, los archivos adjuntos en los correos electrónicos seleccionados se guardarán en la carpeta especificada de inmediato.

Consejos: Para desvincular archivos adjuntos de los correos electrónicos seleccionados y dejar solo los hipervínculos de los archivos adjuntos en el cuerpo del correo electrónico, la función Desanexar todos los archivos adjuntos puede ayudar.


Artículos relacionados

Descargar/guardar automáticamente archivos adjuntos de Outlook en una carpeta específica
En general, puede guardar todos los archivos adjuntos de un correo electrónico haciendo clic en Archivos adjuntos > Guardar todos los archivos adjuntos en Outlook. Pero, si necesita guardar todos los archivos adjuntos de todos los correos electrónicos recibidos y recibiendo, ¿alguna idea? Este artículo presentará dos soluciones para descargar automáticamente archivos adjuntos de Outlook en una carpeta específica.

Mantener archivos adjuntos al responder en Outlook
Cuando reenviamos un mensaje de correo electrónico en Microsoft Outlook, los archivos adjuntos originales en este mensaje de correo electrónico permanecen en el mensaje reenviado. Sin embargo, cuando respondemos a un mensaje de correo electrónico, los archivos adjuntos originales no se adjuntarán en el nuevo mensaje de respuesta. Aquí vamos a introducir algunos trucos sobre cómo mantener los archivos adjuntos originales al responder en Microsoft Outlook.

Buscar palabras dentro del contenido del archivo adjunto en Outlook
Cuando escribimos una palabra clave en el cuadro de Búsqueda instantánea en Outlook, buscará la palabra clave en los asuntos, cuerpos, archivos adjuntos, etc., de los correos electrónicos. Pero ahora solo necesito buscar la palabra clave en el contenido del archivo adjunto en Outlook, ¿alguna idea? Este artículo le muestra los pasos detallados para buscar palabras dentro del contenido del archivo adjunto en Outlook fácilmente.