2016-05-31 1 views
2

J'écris une macro, conçue pour être exécutée sur un e-mail, actuellement en cours de modification.Supprimer la pièce jointe d'un e-mail en cours de modification

Le problème auquel je suis confronté est que je ne peux pas supprimer les pièces jointes. Je reçois 80030002 error.

Voici mon code

Set myItem = ActiveInspector.CurrentItem 
c = myItem.Attachments.Count 
For i = c To 1 Step -1 
    Set myAttachment = myItem.Attachments.Item(i) 
    If myAttachment.Type = OlAttachmentType.olByValue Then 
     myItem.Attachments.Remove (i) 
    End If 
Next 

Après avoir exécuté ce code, le travail manuellement entraîne la suppression des pièces jointes dans un accident d'Outlook.

Ma question est: Comment puis-je supprimer les pièces jointes de l'e-mail en cours d'édition?

Microsoft Office Standard 2010

+0

Le code d'erreur est STG_E_FILENOTFOUND. Est-ce que cela se produit lorsque vous ouvrez un fichier MSG? –

+0

Je n'ouvre aucun fichier. Je clique sur "composer un nouvel e-mail", dépose quelques fichiers dans le nouvel e-mail vide, puis exécute le script ci-dessus. C'est tout! Des idées? Je vous remercie! –

Répondre

1

Essayez ce qui suit à la place:

Set myItem = Application.ActiveInspector.CurrentItem 
set myAttachments = myItem.Attachments 
c = myAttachments.Count 
For i = c To 1 Step -1 
    Set myAttachment = myAttachments.Item(i) 
    If myAttachment.Type = OlAttachmentType.olByValue Then 
     myAttachment.Delete 
    End If 
Next 
+0

Merci, mais malheureusement, le même résultat :(D'autres idées? –