Sí, sí, quizás sea DEMASIADA vagancia, pero yo recibo muchos mails que van a la misma carpeta y me fastidia hacer click derecho, guardar como, seleccionar la carpeta y etc... con esta macro para Outlook solo tengo que hacer Alt+F8 y ENTER
Para utilizarla primero hay que permitir que las macros se ejecuten en outlook, vayan a
Sí se que da pereza hacer todos estos pasos, pero no seas ordinario, piensa en todo el tiempo y las molestias que te ahorrarás de ahora en adelante.File/Options/Trust Center/Trust Center Settings/Macro Settings/
y selecciona "Enable All Macros". Luego reinicia Outlook.Ahora ingresa a Outlook y presiona Alt+F11, sobre el nombre del proyecto (por lo general "Project 1") haz click derecho
Insert/Module
así como se ve en la imagen:Ahora si en el espacio en blanco pega este código:
Sub guardar() Dim mensaje As MailItem Dim adjunto As Attachment Dim carpeta As String 'escribo el nombre de la carpeta carpeta = "D:\miCarpeta\" 'primero verifica si la ventana activa es del tipo inspector If TypeName(Application.ActiveWindow) = "Inspector" Then Set mensaje = Application.ActiveWindow.CurrentItem 'selecciona el mail abierto If mensaje.Attachments.Count > 0 Then For Each adjunto In mensaje.Attachments 'explora cada adjunto en el mensaje adjunto.SaveAsFile (carpeta & adjunto.FileName) Next MsgBox "Adjuntos guardados." Else MsgBox "Sorry, no hay adjuntos que guardar." End If Else MsgBox "Hello, no se guardó es NADA!" End If End SubYa casi está, ahora solo tienes que poner entre comillas, el nombre de tu carpeta de archivos y reemplazarlo en la línea que dice
carpeta = "D:\miCarpeta\"
por ejemplo puede quedar como carpeta = "D:\misArchivos\"
o "C:\MisDocumentos\"
no se cual sea tu caso.
Y listo, ya está. Ahora cada vez que te llegue un mail, solo dale Alt+F8, se te abrirá una ventana, solo daleENTER
Parece que la macro hiciera algo muy sencillo pero este codigo tiene muchas posibilidades, puedes modificarlo para que vacie carpetas y guarde solo los nuevos adjuntos, puedes crear varias macros para cada carpeta, en fin lo que te imagines...
Me sirvió mucho el código. Funciona perfecto.
ResponderEliminar¿como se podría adaptar para guardar los adjunto de uno o mas correctos seleccionados desde la bandeja, sin tener que abrirlos uno a uno?
Hola Gabriel, para hacer un proceso en cada elemento seleccionado necesitas un for loop en cada elemento de un objeto llamado "Selection". Aqui te dejo un post con el detalle de la solucion propuesta, comentame si te sirvió: http://www.rubentorres.info/2016/01/vba-outlook-como-guardar-los-adjuntos.html
Eliminargracias Ruben eres un genio .... me sirvio mucho aunque queria que no chancara los archivos duplicados pero lo adecue y quedo bien.
Eliminarme sirvio muchopero como puedo hacer para que guarde el archivo con el asunto del mail.
ResponderEliminarHola amigo disculpa guarde la macro y todo pero me manda el mensaje que no se guardo nada, debo de tener una opción desahibilitada?
ResponderEliminar