Tengo el siguiente código, que debería guardar un archivo de Excel específico adjunto a un correo electrónico. El código se combina con una regla, que activa este script cuando se recibe un correo electrónico con un asunto específico. El código se activa, pero aquí aparece el error más extraño que he visto últimamente: itm.Attachments.Count parece ser cero y obviamente el archivo no está guardado. Pero ... si coloco un punto de interrupción en la línea "Para cada ..." y agrego itm.Attachments.Count para ver la ventana, se muestra como cero. Si agrego itm only, luego navega a la propiedad Attachments, luego a Count property muestra 1 para Count (como debería) y el código se ejecuta correctamente. Me pasé medio día tratando de entender lo que está pasando, pero no puedo entenderlo.
El comportamiento es el mismo tanto en un Outlook 2010 x64 en un Windows 7 x64 como en un Outlook 2010 x86 en un Windows 7 x86. Las macros están habilitadas en el Centro de Confianza. He adjuntado algunas capturas de pantalla con el código y la configuración de las reglas, y también una película que muestra la extrañeza de las ventanas del reloj.
La secuencia de comandos se creó hace algún tiempo, funcionó bien en un par de PC y se basó en los pasos de aquí: iterrors.com/outlook-automatically-save-an-outlook-attachment-to-disk/. ¿Algunas ideas?
Adrián
Regla de pantalla aquí: https://drive.google.com/file/d/0Bw-aVIPSg4hsRFgxdzFtd3l1SkE/view?usp=sharing
1 minuto. pelicula aqui https://drive.google.com/file/d/0Bw-aVIPSg4hsZERQWUJHLXd4bjA/view?usp=sharing
Public Sub Kona(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "C:\test"
For Each objAtt In itm.Attachments
If InStr(objAtt.DisplayName, "Kona Preferred Fixed Price Matrix (ALL)") Then
objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
End If
Set objAtt = Nothing
Next
End Sub
fuente