Bonjour,
Suite à une demande spécifique, je récupère les mails dans une boîte Outlook afin de les traités avec leurs pièces jointes par la suite.
Sur mon poste, je n'ai aucun problème (Outlook 2010 avec seven.)
Mais sur d'autre poste, je rencontre une erreur (spécifié dans le code en commentaire, avec Outlook 2003 et XP)
D'après quelques recherches, le problème viendrait à cause des deux Threads cloisonnés (mon programme et outlook?). Néanmoins, c'est aussi le cas sur mon poste et je n'ai pas de problème. Etes vous d'accord avec cette hypothèse ou auriez-vous une autre piste à m'apporter?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Dim Appli As Outlook.Application Dim Espace As Outlook.NameSpace Dim Lecture_Boite As Outlook.MAPIFolder Dim Mail_Boite As Outlook.MailItem Dim Piece_Jointe As Outlook.Attachment Dim MailInstance, MailNonDistribues, MailIncident As Outlook.MailItem Appli = CreateObject("Outlook.application") Espace = Appli.GetNamespace("MAPI") Lecture_Boite = Espace.GetDefaultFolder(OlDefaultFolders.olFolderInbox) 'Pour chaque mail dans la boîte de réception Outlook '--> Le problème ce trouve ici, message d'erreur: '-Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObject' en type d'interface 'Microsoft.Office.Interop.Outlook.MailItem'. '-Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{00063034-0000-0000-C000-000000000046}' '-a échoué en raison de l'erreur suivante : Cette interface n'est pas prise en charge (Exception de HRESULT : 0x80004002 (E_NOINTERFACE)). For Each Mail_Boite In Lecture_Boite.Items 'Split sur le sujet du mail par " ". Dim tabsplit = Split(Mail_Boite.Subject, " ") 'Si le sujet du mail contient Instance, NonDistribues ou incident For i = 0 To UBound(tabsplit) Select Case tabsplit(i) Case "INSTANCE" MailInstance = Mail_Boite Case "NONDISTRIBUES" MailNonDistribues = Mail_Boite Case "INCIDENT" MailIncident = Mail_Boite End Select Next Next [...]
Merci d'avance.
Partager