Bonjour, je souhaite récuperer les pieces jointes de mon outlook, j'ai donc récupérer un code qui marche partiellement.
En effet les pieces jointes sont bien récupérées mais j'ai un message d'erreur quand visual basic essaie de lire un mail d'une autre semaine.
(par exemple les messages d'outlook d'il y'a deux semaine sont tous récupérés mais il y'a un probleme pour récupérer ceux d'il y'a une semaine)
J'ai le message d'erreur suivant:
Une exception de première chance de type 'System.InvalidCastException' s'est produite dans ProjetVisual.exe
voici le code
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
Public Class Form1
'Création des variables
Dim objoutlook As Outlook.Application
Dim olns As Outlook.NameSpace
Dim mItem As Outlook.MailItem
Dim att As Outlook.Attachment
Dim fld As Outlook.MAPIFolder
Dim cpt As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error GoTo errorhandler
cpt = 0
'Création de l'objet Outlook
objoutlook = CreateObject("Outlook.application")
'Récupération de l'espace de nom d'outlook
olns = objoutlook.GetNamespace("MAPI")
'Récupération du répertoire "boite de réception" par défault
fld = olns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
'Sauver les pieces jointes des mails se trouvant dans
'la boîte de réception. Pour adresser un dossier dans la boite
'de réception on pourrait utiliser :
'fld.Folders.item("Nom_Du_Dossier").Items
For Each mItem In fld.Items
For Each att In mItem.Attachments
If att.Type = Outlook.OlAttachmentType.olByValue Then
att.SaveAsFile("C:\Documents and Settings\stage\Mes documents\test\" & cpt)
Debug.Print("le fichier " & att.FileName & " a ete")
cpt = cpt + 1
End If
Next
Next
Exit Sub
errorhandler:
MsgBox(att.FileName)
End Sub
Private Sub Form_Unload(ByVal Cancel As Integer)
olns = Nothing
objoutlook = Nothing
End Sub
End Class |
merci de votre aide
Partager