Supprimer un Mail avec MAPI

Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017 - 24 avril 2010 à 19:24
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017 - 30 avril 2010 à 09:04
Bonjour,



Lorsque, par programme je supprime un mail, il est transféré automatiquement dans la boite Eléments supprimés.


QUESTION:
Avec Mapi je souhaiterais supprimer ("Killer") définitivement des mails

Aucune réponse à cette question sur Internet. Alors, si vous avez la réponse ...........


Par avance merci.

10 réponses

houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
27 avril 2010 à 17:08
Bon, la c'est du sur mesure je t'ai fait une petite bouocle qui vide la boite des éléments supprimés. fais ton test et après si c ok n'oublie pas d'accepter la réponse:
Sub viderelemsuppr()
    Dim MonApp As Outlook.Application
    Dim MonNameSpace As Outlook.NameSpace
    Dim MonDossier As Outlook.Folder
    Dim MonMail As Outlook.MailItem
    Dim nbmail As Long
    Dim i As Integer
    'Instance des objets
    Set MonApp = Outlook.Application
    Set MonNameSpace = MonApp.GetNamespace("MAPI")
    Set MonDossier = MonNameSpace.GetDefaultFolder(olFolderDeletedItems)
    nbmail = MonDossier.Items.Count
    For i = 1 To nbmail
    Set MonMail = MonDossier.Items(i)
    MonMail.Delete
    Set MonMail = Nothing
    Next
End Sub
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
28 avril 2010 à 19:09
Bonjour,


Grand merci pour ce morceau de code qui malheureusement ne pourrât pas me servir. Je n'ai pas dans mes Références la dll Microsoft Outlook. Je crois qu'elle porte le nom Msoutl9. Je
l'ai cherchée sur Internet pour la télécharger mais je ne l'ai pas trouvée.

Que ceux qui répondent aux questions posées sur ce site prennent exemple sur la précision de
cette réponse.


Encore Merci.
0
houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
29 avril 2010 à 11:48
Voici le lien pour télécharger la référence manquante
http://www.adminware.ca/outlook/index.htm
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
29 avril 2010 à 17:48
Merci pour l'adresse. J'ai récupéré les deux Dll Msoutl et Msoutl9.


Sans ces dll, je tombais en erreur sur la ligne ci-dessous
- Dim MonApp As Outlook.Application --> Type défini par l'utilisateur Etc .......

Après avoir rajouté dans les références Msoutl9, l'erreur se produit un peu plus loin
- Dim MonDossier As Outlook.Folder --> Type défini par l'utilisateur .......


Je pense qu'il y a un problème de référence.


Ps: Idem avec Msoutl
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
29 avril 2010 à 18:12
ok fais un petit test colle le code directement dans outlook et regarde si il tourne correctement, ensuite si tu peux me dire sur quelle version Office tu travaille.
0
houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
29 avril 2010 à 18:16
Pour info moi j'ai testé avec la réf Microsoft Outlook 12.0 Object Library avec Office 2007
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
29 avril 2010 à 19:24
ok fais un petit test colle le code directement dans outlook --> ça, je ne sais pas faire.
J'ai la version Outlook Express 6.0 et je n'ai dans mes références aucune dll Windows Outlook ...

La suppression des Mails est peut-être possible en utilisant une autre technique.

J'ai un programme qui se lance à l'ouverture d'outlook express et qui analyse l'objet et le contenu des mails.
En fonction de l'analyse effectuée, certains mails sont conservés dans la boite de réception, d'autres sont stockés dans une base DAO et enfin, ceux qui ne m'intéressent
pas sont supprimés (Envoyé dans la boite éléments supprimés.(MAPIMessages1.Delete 0))

Mon problème,comme je le disais dans ma question, serait de killer ces mails au lieu de les envoyer dans éléments supprimés.

[i]Ma question Initiale est peut-être mal formulée et je m'en excuse:
Lorsque, par programme je supprime un mail, il est transféré automatiquement dans la boite Eléments supprimés.
QUESTION:
Avec Mapi je souhaiterais supprimer ("Killer") définitivement des mails /i

Cela dit, ton code m'intéresse énormément car je souhaite l'enregistrer dans ma Base de codes Source

Encore Merci pour ton aide.
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
29 avril 2010 à 19:26
Correction d'une erreur

je n'ai dans mes références aucune dll Windows Outlook
j'ai voulu dire Microsoft Outlook .......
0
houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
29 avril 2010 à 19:53
Désolé mais le bout de code que j'ai écris était pour Microsoft Office Outlook et pas pour la version Express
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
30 avril 2010 à 09:04
Ca ne fait rien !

Merci encore pour ton aide.
0
Rejoignez-nous