sábado, 19 de mayo de 2012

Imprimir adjuntos de Outlook automáticamente

A veces, vamos viendo el correo de camino al trabajo, o cuando estamos fuera de la oficina, y nos gustaría que cuando llegásemos el adjunto que estamos leyendo estuviese impreso, con este fin he hecho esta pequeña macro en VB que me imprime los adjuntos según una regla de correo.
Se recomienda que en la regla se pongas parámetros adecuados, por ejemplo la mía tiene que si el mail viene de mi mismo y contiene una determinada clave en el asunto me imprima los adjuntos.

Bien, la macro es la siguiente:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub ImprimeMensajeAdjuntos(Item As Outlook.MailItem)
    Dim Atmt As Outlook.Attachment
    Dim FileName As String
    Dim i As Integer
    Dim l As Long
    For Each Atmt In Item.Attachments
        FileName = "C:\Temp\" & Atmt.FileName
        Atmt.SaveAsFile FileName
        l = ShellExecute(0, "Print", FileName, "", "", 1)
    Next
    Item.Delete
End Sub

Luego hay que crear una regla con los parámetros que creamos oportunos y decirle que ejecute el script.

La he probado en Outlook 2010 que es lo que yo uso.

Desventajas de este sistema, evidentemente necesitamos un equipo encendido con el Outlook abierto, bien puede ser una máquina virtual....

6 comentarios:

  1. hay alguna manera de imprimir pdf adjunto de ciertas corpetas y con sierto (asunto)

    ResponderEliminar
  2. Ostras, muy bien! Lo necesitaba para el trabajo... aunque no entiendo las 4 primeras lineas.

    Funciona OK! siempre que configures correctamente la regla

    ResponderEliminar
  3. Las cuatro primeras líneas "declaran" una función que se encuentra en una librería del sistema, que lo que hace básicamente es lo mismo que cuando tu te pones sobre un documento, presionas el botón derecho y le das a imprimir.

    Puedes encontrar más documentación de la función en MSDN, por ejemplo... ShellExecute function

    ResponderEliminar
  4. no imprime ofice 2010 pro, alguna ayuda?

    ResponderEliminar
  5. Hola:
    Funciona perfecto la macro , pero me gustaria saber como imprimir 2 copias del archivo adjunto automaticamente (obviamente)

    ResponderEliminar
  6. Hola:
    ¿Alguien me podría explicar "para tontos" cómo escribo la macro?
    Quiero decir, nombre de carpeta, etc. Soy novata en estas cosas.
    Gracias!!

    ResponderEliminar

Proxmox Backup Server find backup for specific chunk

  proxmox-backup-debug inspect chunk b531d3ffc9bd7c65748a61198c060678326a431db7eded874c327b7986e595e0 --reference-filter /path/in/a/dat...