VBScript – Guardar archivos adjuntos de los correos seleccionados Outlook

Publicidad +
Publicidad +
Publicidad +
Publicidad +

El siguiente Script Guarda los archivos adjuntos de una selección de correos en Outlook, no necesariamente tiene que ser en el Inbox.

También te puede interesar VBScript – Guardar Archivos Adjuntos de Correos .MSG Ya Guardados en el Disco Duro o VBScript – Guardar Archivos Adjuntos de Correos .MSG Automaticamente (Guardar adjuntos de correos adjuntos).

Instrucciones de Uso

1.- Copiamos el Codigo al Editor VBA en Outlook (Ver: Utilizar editor VBA en office).

2.- Realizamos una selección de correos con adjuntos el cual deseamos extraer o guardar en nuestro disco (No necesariamente debe ser en el Inbox puede ser cualquier carpeta).outlook-seleccion-de-correos

 

3.- Una vez creado sin cerrar la ventana del Editor VBA presionamos la tecla F5 o damos clic en Run Sub (Ejecutar Fun) Ejecutar - Guardar Archivos Adjuntos de Correos

3.- Al momento de ejecutarse nos aparecerá la ventana  para seleccionar la carpeta donde deseamos guardar los correos (.msg).ruta-guardar-adjuntos-de-correos-adjuntos

 

4.- Una vez seleccionada la carpeta donde se guardaran este procederá a guardar todos los adjuntos

5.- Listo, ya podemos revisar nuestra carpeta con los adjuntos.

Código

Public Sub SaveAttachmentsOfSelectedEmails()

Dim App As New Outlook.Application
Dim Exp As Outlook.Explorer
Dim Sel As Outlook.Selection
Dim objShell As Object
Dim AttachmentCnt As Integer
Dim AttTotal As Integer
Dim MsgTotal As Integer
Dim saveFolder
Dim strSaveFldr As String
Set Exp = App.ActiveExplorer
Set Sel = Exp.Selection
Set objShell = CreateObject("Shell.Application")

Set saveFolder = objShell.BrowseForFolder(0, "Selecciona el Folder para Guardar los Adjuntos", &H400)
If saveFolder Is Nothing Then Exit Sub
strSaveFldr = saveFolder.Items.Item.Path & "\"

'Loop thru each selected item in the inbox
For cnt = 1 To Sel.Count
'If the e-mail has attachments…
    If Sel.Item(cnt).Attachments.Count > 0 Then
        MsgTotal = MsgTotal + 1
        AttTotal = AttTotal + Sel.Item(cnt).Attachments.Count
          'For each attachment on the message…
          For AttachmentCnt = 1 To Sel.Item(cnt).Attachments.Count
            'Get the attachment
                Dim att As Attachment
                Set att = Sel.Item(cnt).Attachments.Item(AttachmentCnt)
               'Save it to disk
               att.SaveAsFile (strSaveFldr & att.FileName)
            Next
    End If
Next

'Clean up
Set Sel = Nothing
Set Exp = Nothing
Set App = Nothing

'Let user know we are done
Dim doneMsg As String
doneMsg = "Completed"

Exit Sub

ErrorHandler:

Dim errMsg As String
errMsg = "An error has occurred."

Dim errResult As VbMsgBoxResult
errResult = MsgBox("Error in Save Attachments")
Select Case errResult
Case vbAbort
Exit Sub
Case vbRetry
Resume
Case vbIgnore
Resume Next
End Select
End Sub

Este código no fue realizado por nosotros, fue encontrado en un foro publicado por un usuario el cual comenta que tampoco el lo desarrollo. (Fuente: Desconocida)

Califica este articulo

Fernando O.

Soy analista de sistemas actualmente trabajo en una empresa con mas de 200 empleados que utilizan equipo de computo al cual se les da soporte en el departamento.
Uno de mis pasatiempos fuera de la empresa es escribir artículos para PortalMasTips donde documento los problemas, inquietudes y detalles interesantes que se presentan.

4 comentarios en “VBScript – Guardar archivos adjuntos de los correos seleccionados Outlook

  1. Buenas Fernando,

    Como puedo imprimir los adjuntos de varios correos?

    Me explico: tengo varios correos con adjuntos que no necesito descargarlos sino mas bien imprimirlos. Se puede desde microsoft outlook?

  2. Hola Fernando,
    Me interesaría poder imprimir los archivos adjuntos pudiendo incluir a pie de página o en algún sitio el dato de cuándo se ha recibido ese email (no cuándo lo imprimo, sino el dato de encabezamiento del email que muestra el momento de entrada, aunque imprima los archivos adjuntos varios días después)
    Por ejemplo, me envía un proveedor email con 20 facturas y de cara a la Agencia Tributaria me interesa poder saber en el mismo documento impreso en qué momento se recibió esa factura por email.
    ¿Sabes si es posible?
    Gracias

    • Buen dia Gemma

      Para eso se requiere que el documento tenga la fecha de recepción del correo, no tengo script que te pueda ayudar con esa tarea.
      Veo difícil que encuentres algo publicado que lo realice, quizás si buscas un script que te guarde los adjuntos en PDF y al momento de guardar añada la fecha del correo.

      Excelente día

Deja un comentario...

Compartir
Twittear
+1
Compartir
Pin
Stumble