VBScript – Guardar los Archivos Adjuntos en Carpetas Especificas Automáticamente Outlook

El siguiente VBScript crea una carpeta con el nombre del Asunto (Subject) y guarda los archivos adjuntos que contiene el correo automáticamente.

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.- En la linea 7 debemos especificar la ruta donde se guardaran los archivos.

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 saveAttachToSpecificFolder(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim getSubject As String
Dim dDate As Date

destinationFolder = "C:\1-Tests\"
getSubject = itm.Subject
dDate = itm.ReceivedTime
ReplaceIllegalChars getSubject, "-"
saveFolder = destinationFolder & Format(dDate, "yyyy-mm-dd") & Format(dDate, "-hhnnss") & "-" & getSubject

'Objeto crear folder
Set fso = CreateObject("Scripting.FileSystemObject")
' Crear Folder
If Not fso.FolderExists(saveFolder) Then
Set objFolder = fso.Createfolder(saveFolder)
End If
 
     For Each objAtt In itm.Attachments
          objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
          Set objAtt = Nothing
     Next
End Sub
  
Private Sub ReplaceIllegalChars(getSubject As String, _
  sChr As String _
)
  getSubject = Replace(getSubject, "/", sChr)
  getSubject = Replace(getSubject, "\", sChr)
  getSubject = Replace(getSubject, ":", sChr)
  getSubject = Replace(getSubject, "?", sChr)
  getSubject = Replace(getSubject, Chr(34), sChr)
  getSubject = Replace(getSubject, "<", sChr)
  getSubject = Replace(getSubject, ">", sChr)
  getSubject = Replace(getSubject, "|", sChr)
  getSubject = Replace(getSubject, "*", sChr)
End Sub

 

Leer:  VBScript  - Guardar los archivos adjuntos catalogado por remitente y Eliminar adjunto del Correo
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)

19
Deja una respuesta

avatar
 
Archivos de fotos e imágenes
 
 
 
Archivos de audio y video
 
 
 
Otros tipos de archivos
 
 
 
9 Hilos de comentarios
10 Respuestas de hilo
0 Seguidores
 
Comentario más reaccionado
Hilo de comentarios más caliente
10 Autores de comentarios
RubenRichardCarlosJOSEDavid v 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
MELIZA
Guest
MELIZA

Hola!

Mil gracias por colaborarme con esta solicitud, el script funciona perfecto y ya no tengo ningún inconveniente con los correos reenviados, detecte que me seria muy útil que cada carpeta tuviera la fecha antes del asunto del correo pero soy muy nueva utilizando VB y aun no he podido, agradecería mucho tu ayuda para obtener en las carpetas algo así ” 20 05 2016 – asunto del mensaje”, Te comento que ya compartí el articulo en G+, es muy útil.

jonathan
Guest

como le hago para que en vez de que me aparezca el asunto me de el remitente

Humberto Morales (Mexico CDMX)
Guest
Humberto Morales (Mexico CDMX)

Estimado Fernando, esta vez no te realizo consulta alguna, solo escribo esta lineas para desearte que estos dias de Diceimbre aparte de tener tabajo, tengas salud y felicidad con los tuyos, mis mejores deseos y que sigas asi con tu blog ya que seguido me doy una vuelta por aqui.

Feliz Año 2017.

Atte.

Humberto Morales

felo
Guest
felo

esta muy bien esta idea y me sirve , solo que me genera la carpeta sin contenido y aparte me genera el archivo adjunto y tengo que estar borrando las carpetas para dejar los adjuntos solamente

David v
Guest
David v

Muchas gracias , muy buenos los códigos! Me han ahorrado mucho tiempo en la oficina.

JOSE
Guest
JOSE

Y EN QUE MOMENOT SE EJECUTA O COMO SE EJECUTA EL SCRIPT

Carlos
Guest
Carlos

Hola amigo, he estado leyendo y buscando entre respuestas que has dado a todos y es muy bueno toda esa ayuda.
Ojalá pudieras ayudarme, la idea es que los correos que lleguen entren a una carpeta en el correo y descargue los adjuntos ( fotos) en una carpeta en (C:). tengo el script crear una carpeta y descargar automáticamente que has publicado, la regla funciona tiene vinculado el script y este me genera la carpeta en la ruta que quiero pero el problema es que no descarga los adjuntos que serian fotos.
Por favor podrías ayudarme, recibo mucho correo con adjuntos y tengo q hacer este proceso con cada uno.

Muchas gracias

Richard
Guest
Richard

Hola Buenos días

Excelente Portal y es de muchisima ayuda para los usuarios en hora buena por tu portal.

Tengo una Duda y me gustaria que me ayudaras por favor.

Evisto el Script que hace la importacion de un archivo adjunto a una carpeta especifica… ahora, mi pregunta es la siguiente:

Se puede agregar un IF para que compruebe si el nombre del archivo tiene cierto nombre y si tiene ese nombre guardarlo en cierta carpeta y si no en otra?

Soy consciente de que esa eleccion se puede hacer con la regla misma del Outlook, pero me gustaria que esa eleccion haga el Script… eso es posible?

Gracias por su respuesta.

Ruben
Guest
Ruben

Hola, he utilizado el script que crea una carpeta con el nombre de asunto y guarda dentro los asuntos, funciona perfectamente, pero necesito que borre la bandeja de entrada para que no se me acumulen los correos y al mismo tiempo saber si es posible hacer que los adjuntos que son fotos pueden bajar su peso a unos 100k muchas gracias de antemano

Compartir
Twittear
Pin
Más en Outlook VBScript
VBScript – Guardar Correos Seleccionados en un Archivo TXT Outlook

VBScript – Guardar Correos Entrantes a una Carpeta en el Disco (.MSG) Outlook

VBScript – Guardar Todos los Correos de la Carpeta Seleccionada a TXT Outlook

Cerrar