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
|
Sub ProcessFolder(StartFolder As Outlook.MAPIFolder)
Dim objFolder As Outlook.MAPIFolder
Dim olMail As Outlook.MailItem
Dim objItem As Object
Dim strResultat As String
Dim Categorie As String, Repertoire As String, NomExport As String, PathNomExport As String
Dim oFSO As Scripting.FileSystemObject
Set oFSO = New Scripting.FileSystemObject
Categorie = "Catégorie Bleu"
On Error Resume Next
For Each objFolder In StartFolder.Folders
Debug.Print objFolder.Name
If oFSO.FolderExists("c:\mail\" & objFolder.Name) Then
'existe
Else
oFSO.CreateFolder ("c:\mail\" & objFolder.Name)
End If
For Each olMail In objFolder.Items
If olMail.Categories = Categorie Then
NomExport = olMail.Subject & olMail.CreationTime
Repertoire = "c:\mail\" & objFolder.Name & "\"
'Ici on supprime les caractères non autorisé dans les noms de fichiers
PathNomExport = Repertoire & "Email " & Left(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace( _
NomExport, "\", ""), "/", ""), ":", ""), "*", ""), "?", ""), "<", ""), ">", ""), "|", ""), ".", ""), """", ""), vbTab, ""), Chr(7), ""), 160) & ".msg"
PathNomExport = Left(MemPath, Len(MemPath) - 4) & "(" & n & ")" & ".msg"
olMail.SaveAs PathNomExport, OlSaveAsType.olMSG
End If
Next
Next
Set objFolder = Nothing: Set olMail = Nothing
End Sub |
Partager