none
Choisir une boite mail dans Outlook et en extraire les Pièces jointes RRS feed

  • Question

  • Bonjour, grace à l'aide de Géo le Tourrangeau, j'ai un code qui me permet de balayer le contenu d'une boite de réception Outlook pour en extraire les pièces jointes.

    Ma question est la suivante : il peu arriver que l'utilisateur final est plusieurs boites mails dans outlook.

    Comment faire pour aller chercher les pièces jointes dans une boite précise ?

    Voici mon code de base :

      Dim AppOl As New Outlook.Application
        Dim PJ As Outlook.Attachment
        Dim courriel As Outlook.MailItem
        Dim Dossier As Outlook.MAPIFolder
        Dim ns As Outlook.NameSpace
    
     Public Sub PJOutlook()
            AppOl.CreateObject("Outlook.Application")
            ns = AppOl.GetNamespace("MAPI")
            Dossier = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
            Try
                If courriel.Subject.Contains("Candidature") Then
                    For Each courriel In Dossier.Items
                        For Each PJ In courriel.Attachments
                            Dim DossierSave As String = ("E:\Mes documents\CVraimentBienFolders\ExtractionOutlook\" & PJ.FileName)
                            PJ.SaveAsFile(DossierSave)
                            ' Console.WriteLine(courriel.Subject & ": " & PJ.FileName)
                        Next PJ
                    Next courriel
                    AppOl.Quit()
                    For Each O As Process In Process.GetProcesses
                        If O.ProcessName = "OUTLOOK" Then
                            O.Kill()
                        End If
                    Next
                Else
                    MessageBox.Show(" votre boite @ ne contient aucun nouveau CV", "CVraimentBien", MessageBoxButton.OK,
                                    MessageBoxImage.Information, MessageBoxResult.Cancel)
                    AppOl.Quit()
                    For Each O As Process In Process.GetProcesses
                        If O.ProcessName = "OUTLOOK" Then
                            O.Kill()
                        End If
                    Next
                End If
            Catch ex As Exception
                MessageBox.Show(ex.Message & vbLf & ex.StackTrace, "CVraimentBien", MessageBoxButton.OK, MessageBoxImage.Exclamation,
                                MessageBoxResult.Cancel)
                AppOl.Quit()
                For Each O As Process In Process.GetProcesses
                    If O.ProcessName = "OUTLOOK" Then
                        O.Kill()
                    End If
                Next
            End Try
    
        End Sub


    JF Collombet ® CreateSpecificCulture

    jeudi 15 septembre 2016 04:12