[adinserter name="Despues de Cabecera"]

VBScript – Guarda los archivos adjuntos dentro de la carpeta del Remitente catalogado con fecha

El siguiente VBScript es una variante de los publicados en el articulo “VBScript para guardar automáticamente archivos adjuntos Outlook.” Este VBScript crea una carpeta para cada remitente y va catalogando los archivos adjuntos dentro de carpetas por fecha.

Instrucciones de Uso

1.- Abrir el editor de Visual Basic (ALT+F11).

2.- Insertar un modulo nuevo (Insert > Module).

3.- Copiar el código VBScript.

4.- Guardamos y básicamente podria ser lo único requerido, pero podemos editar la ruta donde se crearan los directorios en la linea 11.

5.- Ahora debemos crear la regla que ejecute el Script cuando cumpla las condiciones.

Para mas información de configuración ver: Como utilizar el Editor VBA en Office (Utilizar Macros VBScript) y Outlook – Crear y configurar reglas

Código

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
Dim getFrom
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Wscript.Shell")
    dateFormat = Format(Now, "yyyy-mm-dd H-mm")
    getFrom = itm.SenderName
    saveFolder = "C:\Archivos\" & getFrom & "\" & dateFormat & "\"
    

If Not oFSO.FolderExists(saveFolder) Then
  CreateDirs saveFolder
End If

     For Each objAtt In itm.Attachments
          objAtt.SaveAsFile saveFolder & objAtt.DisplayName
          Set objAtt = Nothing
          Set itm = Nothing
     Next
End Sub

Sub CreateDirs(MyDirName)

    Dim arrDirs, i, idxFirst, objFSO, strDir, strDirBuild
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    strDir = objFSO.GetAbsolutePathName(MyDirName)
    arrDirs = Split(strDir, "\")

    If Left(strDir, 2) = "\\" Then
        strDirBuild = "\\" & arrDirs(2) & "\" & arrDirs(3) & "\"
        idxFirst = 4
    Else
        strDirBuild = arrDirs(0) & "\"
        idxFirst = 1
    End If

    For i = idxFirst To UBound(arrDirs)
        strDirBuild = objFSO.BuildPath(strDirBuild, arrDirs(i))
        If Not objFSO.FolderExists(strDirBuild) Then
            objFSO.CreateFolder strDirBuild
        End If
    Next

    Set objFSO = Nothing
End Sub

 

Leer:  VBScript - Guardar Correos Seleccionados en un mismo Archivo Doc (Word)
Fernando O.

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.
Fernando O.

Latest posts by Fernando O. (see all)

5
Deja una respuesta

avatar
 
Archivos de fotos e imágenes
 
 
 
Archivos de audio y video
 
 
 
Otros tipos de archivos
 
 
 
2 Hilos de comentarios
3 Respuestas de hilo
0 Seguidores
 
Comentario más reaccionado
Hilo de comentarios más caliente
3 Autores de comentarios
Fernando O.Miguel AngelPortal+TipsCarlosH. Autores de comentarios recientes

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

  Suscribir  
el más nuevo más antiguo más votado
Notificar de
CarlosH.
Guest
CarlosH.

Hola Fernando… Muy útil, bueno y claro este portal… Te felicito!!!

He estado buscando algo que necesito pero no lo he podido encontar. Necesito extraer algunos datos que vienen incluídos dentro del cuerpo del mensaje del correo electrónico para todos los correos que vienen con un asunto específico. Por ejemplo el asunto es: CAMBIO DE DIRECCION y dentro del cuerpo del correo vienen dos columnas con DIRECCION ANTERIOR y NUEVA DIRECCION. Cómo puedo hacer para extraer esta información específica a un archivo de Excel? Muchas gracias por toda tu asistencia en este asunto.

Miguel Angel
Guest
Miguel Angel

Hola Fernando, excelente el script, te consulto si es posible programar también que en el mail entrante una vez archivado el adjunto, este sea borrado del mail. Concretamente, borrar el ADJUNTO una vez guardado en el disco duro.

Compartir
Twittear
Pin
Más en Outlook VBScript
VBScript - Reenviar correo a Lista de distribución en CCO (Copia Oculta) Outlook 5
VBScript – Reenviar correo a Lista de distribución en CCO (Copia Oculta) Outlook

VBScript - Exportar Información de correos Outlook a Excel 6
VBScript – Exportar Información de correos Outlook a Excel

VBScript - Guardar Correos Seleccionados en un mismo Archivo Doc (Word) 7
VBScript – Guardar Correos Seleccionados en un mismo Archivo Doc (Word)

Cerrar