Code VBA pour enregistrer une pièce jointe (fichier excel) à partir d'une messagerie Outlook qui était à l'intérieur un autre e-mail en tant que pièce jointe

J'ai le code qui enregistre les pièces jointes dans un message dans un dossier Outlook.

Mon script fonctionne si l'e-mail avec une pièce jointe, mais ne fonctionnera pas si le courriel a été envoyé en tant que pièce jointe avec une pièce jointe.

Dans ce cas mes e-mails contient d'autres e-mails en tant que pièces jointes (à partir d'une auto à la règle). Intégré à l'e-mail des pièces jointes contenant des fichiers excel.

Veuillez voir mon vba ci-dessous:

Public Sub SaveOlAttachments()
  Dim isAttachment As Boolean
  Dim olFolder As Outlook.MAPIFolder
  Dim msg As Outlook.MailItem
  Dim att As Outlook.Attachment
  Dim fsSaveFolder, sSavePathFS, ssender As String

  On Error GoTo crash

  fsSaveFolder = "C:\Documents and Settings\user\Desktop\"
  isAttachment = False
  Set olFolder = Outlook.GetNamespace("MAPI").Folders("...email server...")
  Set olFolder = olFolder.Folders("Inbox")
  If olFolder Is Nothing Then Exit Sub

  For Each msg In olFolder.Items
    If UCase(msg.Subject) = "TEST EMAIL WITH ATTACHMENT" Then
                    If msg.Attachments.Count > 0 Then
          While msg.Attachments.Count > 0
                sSavePathFS = fsSaveFolder & msg.Attachments(1).Filename
            msg.Attachments(1).SaveAsFile sSavePathFS
            msg.Attachments(1).Delete
            isAttachment = True
          Wend
          msg.Delete
        End If
    End If    
  Next

crash:
  If isAttachment = True Then Call findFiles(fsSaveFolder)
End Sub

Toute aide serait grandement appréciée.

OriginalL'auteur JAM_864 | 2011-10-25