Supprimer un Mail avec MAPI

Signaler
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017
-
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017
-
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

Messages postés
116
Date d'inscription
jeudi 14 décembre 2006
Statut
Membre
Dernière intervention
29 août 2013

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
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

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.
Messages postés
116
Date d'inscription
jeudi 14 décembre 2006
Statut
Membre
Dernière intervention
29 août 2013

Voici le lien pour télécharger la référence manquante
http://www.adminware.ca/outlook/index.htm
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

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
Messages postés
116
Date d'inscription
jeudi 14 décembre 2006
Statut
Membre
Dernière intervention
29 août 2013

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.
Messages postés
116
Date d'inscription
jeudi 14 décembre 2006
Statut
Membre
Dernière intervention
29 août 2013

Pour info moi j'ai testé avec la réf Microsoft Outlook 12.0 Object Library avec Office 2007
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

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.
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

Correction d'une erreur

je n'ai dans mes références aucune dll Windows Outlook
j'ai voulu dire Microsoft Outlook .......
Messages postés
116
Date d'inscription
jeudi 14 décembre 2006
Statut
Membre
Dernière intervention
29 août 2013

Désolé mais le bout de code que j'ai écris était pour Microsoft Office Outlook et pas pour la version Express
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

Ca ne fait rien !

Merci encore pour ton aide.