Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

récupérer l'extension des pièces jointes de mails dans outlook

lba

XLDnaute Nouveau
bonjour,

je bricole un code qui récupère les pièces jointes de mails dans un certain dossier de ma boîte de réception et je voudrais renommer ces pièces jointes avant de les enregistrer.
Et pour cela j'aurai besoin de récupérer l'extension des pièces jointes.

Par exemple avec une pièce jointe "document.doc"
je voudrais pour insérer la date entre document et doc

Pour meilleure compréhension voici l'architecture de mon code:


Sub SaveClassSAttachmentsAndRename()

'mettre uniquement des mails avec pièces jointes dans le dossier

Const olFolderInbox = 6
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)

Set SubFolder = objFolder.Folders("Test")

Set colItems = SubFolder.Items
For Each objMessage In colItems
intCount = objMessage.Attachments.Count
If intCount > 0 Then
For i = 1 To intCount

Dim nom As String

nom = objMessage.Attachments.Item(i).FileName
MsgBox nom

'Pour renommer
Dim newname As String

'add the extension of the file in "ext"
Dim ext As String

ext = ??????? (c'est la fonction que je cherche)

MsgBox ext

Dim Day As String

Day = InputBox("date of the document DDMMYYYY")

newname = nom & "_" & Day & "." & ext
' newname c'est le nom avec la bonne nomenclature

MsgBox newname

objMessage.Attachments.Item(i).SaveAsFile "C:\Users\lbarj\Class S\" & newname

Next
End If
Next
End Sub
 

JNP

XLDnaute Barbatruc
Re : récupérer l'extension des pièces jointes de mails dans outlook

Bonjour le fil ,
Pour faire plus propre, je verrais bien un passage par un tableau
Code:
Sub test()
Dim Temp, Ext As String
Temp = Split(Selection, ".")
If UBound(Temp) > 0 Then
Ext = Temp(UBound(Temp))
ReDim Preserve Temp(UBound(Temp) - 1)
MsgBox Join(Temp, ".") & " " & Format(Now(), "dd-mm-yy") & "." & Ext
Else
MsgBox "Pas d'extension !", vbCritical + vbOKOnly, "ATTENTION !"
End If
End Sub
en remplaçant Selection par la variable à traiter .
Bonne journée
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…