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....