VBScript – Descomprimir zip adjunto y guardar los archivos automáticamente Outlook

Publicidad +
Publicidad +
Publicidad +
Publicidad +

A solicitud de un usuario se realizó el siguiente VBscript el cual utilizará para descomprimir y guardar automáticamente las facturas electrónicas que le envían por correo electrónico en zip.

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 8 debemos especificar la ruta donde se guardaran los archivos (Esta carpeta la creamos manualmente).

Nota: Solo funciona con archivos zip

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 unZipAttachments(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim objFSO As Object
Dim i: i = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")

saveFolder = "C:\Archivos unZip\"

For Each objAtt In itm.Attachments
   If ((InStr(UCase(objAtt.DisplayName), ".ZIP"))) Then
              FullFileName = saveFolder & objAtt.DisplayName
              objAtt.SaveAsFile (FullFileName)
              Set filesInzip = objShell.NameSpace(FullFileName).Items
              objShell.NameSpace(saveFolder).CopyHere filesInzip
              objFSO.DeleteFile (FullFileName)
    End If
Next
End Sub

 

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.

2 comentarios en “VBScript – Descomprimir zip adjunto y guardar los archivos automáticamente Outlook

  1. Hola Fernando, saludos, la verdad es que son muy buenos tus aportes, muchas gracias, no sé si en esta ocasión puedas ayudarme para saber como puedo programar envíos automaticos desde correos en Outlook, sé que en Excel por ejemplo se pueden programar con OnTime, pero en outlook esta opción no funciona, ¿puedes ayudarme con alguna macro o vbscript que pueda usar en outlook para poder enviar correos con una fecha y hora especifica al momento de abrir outlook?
    Gracias, nuevamente saludos!!
    Atentamente Enrique Martínez

    • Buen dia Enrique

      Lo que requieres es programar el envio de un correo X dia X hora correcto?

      Es un correo recurrente?

      Outlook cuenta con una opción Delay delivery (Retrasar entrega) donde puedes especificar que dia y hora enviar un correo electrónico

      Retrasar envio

      En VBScript no conozco una función establecida como la que comentas que realice el envío, esto lo he realizado con el Task Scheduler de Windows que ejecuta un script.

      Saludos.

Deja un comentario...

Compartir
Twittear
+1
Compartir
Pin
Stumble