2016-11-29 1 views
0

Abonnements site. Créé ce code dans un Modul.Téléchargement automatique des pièces jointes à partir de Outlook

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)  
Dim objAtt As Outlook.Attachment 

For Each objAtt In itm.Attachments 
    objAtt.SaveAsFile "C:\Data\" & objAtt.DisplayName 
    Set objAtt = Nothing 
Next 
End Sub 

Mais rien ne se passe quand je mis en place une règle qui appelle le script chaque fois qu'un courrier arrive

Répondre

0

ce que vous faites semble correct ..

Êtes-vous Assurez-vous qu'il y a des pièces jointes à votre courriel?

et si oui avez-vous essayé le débogage pour vous assurer que ce sous-système est appelé?

Si c'est alors que vous avez vérifié qu'il récupère effectivement les pièces jointes de l'email?

ou renvoie-t-il une collection vide de pièces jointes?

vous pouvez également simplifier pour chaque comme si -

Public Sub saveAttachtoDisk(itm As Outlook.MailItem) 
     For Each objAtt As Outlook.Attachment In itm.Attachments 
      objAtt.SaveAsFile("C:\Data\" & objAtt.DisplayName) 
     Next 
    End Sub 
+0

oui, il y a des pièces jointes. comment puis-je le déboguer puisqu'il a un argument dans la fonction? – InDubio

+0

exécutez le programme dans le débogage et placez un point d'arrêt sur le pour chaque, passez la souris sur itm.Attachments et voyez s'il y a des pièces jointes dans cette collection, s'il n'y a pas alors un problème pour récupérer les pièces jointes, s'il y a plus de probablement un problème avec les sauver – scriptss