OVH Cloud OVH Cloud

lire émail Outlook 2003 avec VBA EXcel

2 réponses
Avatar
rené
Bonjour,
Outlook 2003 et Excel 2002

Je désire récupérer en automatique certains courriers.
Ces courriers qui ont toujours la même entête
ils ont plusieurs fichiers attachés (fichiers *.txt)
en plus ils sont zippés!
si vous avez une idée(s) de code
d'avance merci
rené

2 réponses

Avatar
Michel Pierron
Bonsoir René;
Peut être avec quelque chose du genre (ou a adapter):

Sub SaveAttachment()
Dim objOL(1 To 5) As Object, i As Long
Set objOL(1) = CreateObject("Outlook.Application")
Set objOL(2) = objOL(1).GetNamespace("MAPI")
Set objOL(3) = objOL(2).GetDefaultFolder(6) ' FolderInbox
For i = objOL(3).Items.Count To 1 Step -1
Set objOL(4) = objOL(3).Items(i)
If InStr(1, objOL(4).Subject, "L'entête en question", 1) Then
For Each objOL(5) In objOL(4).Attachments
If InStr(1, objOL(5).Filename, ".zip", 1) Then
objOL(5).SaveAsFile ThisWorkbook.Path & "" & objOL(5).Filename
objOL(5).Delete
End If
Next objOL(5)
objOL(4).Save
End If
Next i
For i = LBound(objOL) To UBound(objOL)
Set objOL(i) = Nothing
Next i
End Sub


"rené" a écrit dans le message de
news:
Bonjour,
Outlook 2003 et Excel 2002

Je désire récupérer en automatique certains courriers.
Ces courriers qui ont toujours la même entête
ils ont plusieurs fichiers attachés (fichiers *.txt)
en plus ils sont zippés!
si vous avez une idée(s) de code
d'avance merci
rené





Avatar
rg
Merci michel,
cela marche pour récuperer le message xxxx.msg

il est bien sauvegardé sur le DD de mon PC.
maintenant je cherche comment déziper les fichiers contenus
dans le fichier attaché au message

Merci pour ta réponse

René

=========================================


"Michel Pierron" a écrit dans le message de news:
#
Bonsoir René;
Peut être avec quelque chose du genre (ou a adapter):

Sub SaveAttachment()
Dim objOL(1 To 5) As Object, i As Long
Set objOL(1) = CreateObject("Outlook.Application")
Set objOL(2) = objOL(1).GetNamespace("MAPI")
Set objOL(3) = objOL(2).GetDefaultFolder(6) ' FolderInbox
For i = objOL(3).Items.Count To 1 Step -1
Set objOL(4) = objOL(3).Items(i)
If InStr(1, objOL(4).Subject, "L'entête en question", 1) Then
For Each objOL(5) In objOL(4).Attachments
If InStr(1, objOL(5).Filename, ".zip", 1) Then
objOL(5).SaveAsFile ThisWorkbook.Path & "" & objOL(5).Filename
objOL(5).Delete
End If
Next objOL(5)
objOL(4).Save
End If
Next i
For i = LBound(objOL) To UBound(objOL)
Set objOL(i) = Nothing
Next i
End Sub


"rené" a écrit dans le message de
news:
Bonjour,
Outlook 2003 et Excel 2002

Je désire récupérer en automatique certains courriers.
Ces courriers qui ont toujours la même entête
ils ont plusieurs fichiers attachés (fichiers *.txt)
en plus ils sont zippés!
si vous avez une idée(s) de code
d'avance merci
rené