Todas las mañanas recibo un correo electrónico de una persona que contiene una hoja de cálculo adjunta. Logré crear una regla de Outlook que detecte estos correos electrónicos. Ahora bien, ¿es posible guardar automáticamente el archivo adjunto de cada uno de estos en una carpeta local, con el nombre de archivo AAAA-MM-DD.xls?
El archivo adjunto en el correo tiene un nombre de archivo generado aleatoriamente, por lo que debe tomar la fecha de envío del correo para elegir un nombre de archivo. NB: esto está en mi computadora portátil, por lo que existe la posibilidad de que el correo electrónico se envíe en un día distinto al día en que lo recibí (por ejemplo, cuando está apagado por un día), por lo que usar la "fecha de hoy" es no es una opción viable.
EDITAR: usando Windows 7 con Outlook 2013
Respuesta1
Para hacer lo que quieres, necesitarás mezclar un poco de VBA y Rules. No estoy seguro de qué versión de Outlook estás utilizando, por lo que no hay garantías aquí. Esto fue probado en Outlook 2010.
Este artículo le ayudará a configurar todo:Regla para guardar automáticamente el archivo adjunto en Outlook.
El siguiente código se modifica específicamente para guardar el archivo con el formato de nombre yyyy-mm-dd
.
Public Sub SaveToDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
dateFormat = Format(Now, "yyyy-mm-dd")
'Change this path to the your folder location
saveFolder = "c:\temp\"
objAtt.SaveAsFile saveFolder & "\" & dateFormat & ".xls"
Set objAtt = Nothing
End Sub
Una vez que configure esta regla para ejecutar este script, guardará cualquier archivo adjunto de esta persona cada vez que reciba uno (y le dará una .xls
extensión). Si desea cambiar eso, deberá modificar su regla o desactivarla.