Renommer une pièce jointe d'un mail dans Outlook 2007 [Résolu]

Signaler
Messages postés
2
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
19 février 2013
-
Messages postés
2
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
19 février 2013
-
Bonjour,

Aprés pas mal de recherche sur internet et n'ayant rien trouvé de concluant, je pose ma question ici en espérant que quelqu'un sait faire:

Comment renommer une piece attachée d'un email dans Outlook 2007.
Seulement à l'interieur de l'email, et sans sauver cette pièce jointe dans un répertoire.
Dans mon cas il n'y en a qu'une à chaque fois.

Quelqu'un peut-il mettre le bout de code qui fait ça sur le forum

Merci beaucoup,
Pascal.

2 réponses

Messages postés
32980
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 juin 2021
351
Bonjour,

Je ne sais pas si c'est possible, mais est ce que par hasard, en utilisant la propriété : .FileName vous ne pourriez-pas modifier le nom de la PJ ?
Après tout, les codes qui "sauvegardent" les PJ utilisent cette propriété pour obtenir le nom de la PJ.. alors on devrait surement pouvoir lui attribuer une valeur...(enfin je suppose sans avoir testé )


Au cas où.. le VbA vous le faites à partir d'Outlook directement ou d'excel (ou autre ) ?




Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Messages postés
2
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
19 février 2013

Merci pour cette réponse,
Je procede à partir des macros outlook depuis outlook.

J'ai le code ci-dessous, reconstruit avec des macros trouvées sur le net, mais ça ne fait rien à la ligne "objMailItem.Attachments.Name = AttName" qui devrait renommer la pièce jointe?

Alors si quelqu'un peut mettre ici un bout de code qui fait ça, merci beaucoup .

--------------------------------------------------------------------------------
Sub RenamePJ()

Outlook_Archive = "Boîte aux lettres - MOLA, Pascal"
Outlook_Folder = "Boîte de réception"
Subject_InStr = "Weight Sheet for - ADAP-DS "
Delete_Mail = False

cpt = 0
Set objoutlook = CreateObject("Outlook.Application")
Set objfolder = objoutlook.GetNamespace("MAPI").Folders(Outlook_Archive)

On Error Resume Next

Set objfolder = objfolder.Folders(Outlook_Folder)


If Not Err.Number = 0 Then
Exit Sub
End If
On Error GoTo 0

Set objItems = objfolder.Items
For mailIndex = objItems.Count To 1 Step -1
'On Error Resume Next
Set objMailItem = objItems.Item(mailIndex)
If objMailItem.Attachments.Count > 0 Then
If Not InStr(1, objMailItem.Subject, Subject_InStr, 1) = 0 Then


On Error Resume Next

For i = 1 To objMailItem.Attachments.Count
Set PJ = objMailItem.Attachments.Item(i)
AttName = PJ.DisplayName
AttName = Mid(AttName, 13)
ObjName = objMailItem.Subject
ObjName = Mid(ObjName, 28)
objMailItem.Subject = ObjName
objMailItem.Attachments.Name = AttName
cpt = cpt + 1
Next

On Error GoTo 0
If Delete_Mail Then objMailItem.Delete
End If
End If
Next

MsgBox cpt & " pieces jointes traitées."


End Sub
--------------------------------------------------------------------------------



Pascal