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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
| '---------------- OUTLOOK -----------------------
Dim MonOutlook As Outlook.Application
Set MonOutlook = Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Set myNameSpace = MonOutlook.GetNamespace("MAPI")
'------- CREATION DE L'OBJET ReportItem------------------
'---- sera utile pour l'enregistrement final ------------
Dim MonReportItem As Outlook.ReportItem
'-- création d'un nouvel objet
Set MonReportItem = objCurrentMessage
'----------------------------------------------------------------------
'----------------------------- POUBELLE ------------------------------
Dim MesClassements As Outlook.MAPIFolder
Set MesClassements = myNameSpace.GetDefaultFolder(olFolderDeletedItems)
Dim MaPoubelle As Outlook.Folder
'--- je sélectionne le dossier et je gère l'erreur éventuelle s'il n'existe pas
Set MaPoubelle = MesClassements.Folders("CLASST_" & Format(Now, "yyyymmdd"))
On Error GoTo 0
'--- si le dossier sélectionné n'existe pas, je le crée...
If MaPoubelle Is Nothing Then
Set MaPoubelle = MesClassements.Folders.Add("CLASST_" & Format(Now, "yyyymmdd"))
End If
'-------------------
With MaPoubelle
.ShowItemCount = olShowTotalItemCount
End With
'-------------------
'----------------------------------------------------------------------
'--------------- CDO-MAPI ------------
Dim objSession, StrEntryID, StrStoreID
'----------CDO-MAPI Propriétés--------
Dim Obj_CDOSender As Object
Dim MySenderName, MySenderAdress As String
Dim Obj_CDORecipients As MAPI.Recipients
Dim Obj_CDORecipient As MAPI.Recipient
Dim obj_CDOFields As MAPI.Fields
Dim obj_CDOField As MAPI.Field
Dim Obj_CDOAttachments As MAPI.Attachments
Dim Obj_CDOAttachment As MAPI.Attachment
'-- définit le suffixe du message MAPI (pour un ReportItem, c'est toujours .msg)
MAPIextension = "msg"
'--------------------------------------
'----- CREATION OBJET MAPI.Message------------------
'---utile pour extraire propriétés message ---------
'-- création d'une session MAPI-CDO
Set objSession = CreateObject("Mapi.Session")
objSession.Logon , , False, False
'-- récupère les identifiants du message en cours
StrEntryID = objCurrentMessage.EntryID
StrStoreID = objCurrentMessage.Parent.StoreID
'-- transforme l'objet en cours en un MAPI.Message
Set objCurrentMessage = objSession.GetMessage(StrEntryID, StrStoreID)
'---------------------------------------------------
Dim Expéditeur as string
Dim SujetOriginal as string
Dim MaDateFormatée as string
Dim NomFinalMessage as string
'-- je récupére le nom de l'expéditeur du ReportItem
Expéditeur = objCurrentMessage.Sender
'-- je récupére l'adresse mail de l'expéditeur du ReportItem
ExpéditeurAdresse = objCurrentMessage.Sender.address
'-- je récupére le sujet du mail
SujetOriginal = objCurrentMessage.Subject
'-- je récupére la date d'envoi du mail
MaDateFormatée = "-[" & Format(DateobjCurrentMessage.TimeSent, "yyyy-mmdd-hhnn") & "]-"
' .....et c....pour chaque propriété utile
' .... je construit le nom complet du fichier sous lequel le message sera enregistré
NomFinalMessage = Expéditeur & "-" & MaDateFormatée & "-" & SujetOriginal
'---------------- ENREGISTREMENT DU ReportItem -----------
'-- ici, j'utilise l'objet ReportItem crée au départ
MonReportItem.SaveAs NomFinalMessagePrincipal, OlSaveAsType.olMSG
'---------------- SUPPRIME LE ReportItem -----------------
'crée un objet résultat de l'action .Move
Dim MaPoub As Object
Set MaPoub = MonReportItem.Move(MaPoubelle) |
Partager