J'essaie d'exécuter cette commande en macro pour déplacer une pièce jointe d'un dossier de ma boîte de réception (appelée téléchargements de boîte à outils) dans un dossier mon bureau et renommer la pièce jointe.VBA Outlook Erreur d'exécution '438': l'objet ne prend pas en charge cette propriété ou cette méthode
Je reçois
Erreur d'exécution « 438 »: Cet objet ne gère pas cette propriété ou méthode
Sub OSP()
Dim oOutlook As Outlook.Application
Dim oNs As Outlook.NameSpace 'Main Outlook Today
Dim oFldrSb As Outlook.MAPIFolder 'Sub Folder in Outlook Today
Dim oFldrSbSb As Outlook.MAPIFolder 'Sub in Sub Folder
Dim oFldrSbSbsb As Outlook.MAPIFolder 'Sub in Sub in Sub Folder
Dim oMessage As Object
Dim sPathName As String
Dim oAttachment As Outlook.Attachment
Dim Ictr As Integer
Dim iAttachCnt As Integer
sPathName = "H:\Desktop\Toolkit Downloads\" 'My Folder Path where to save attachments
Set oOutlook = New Outlook.Application
Set oNs = oOutlook.GetNamespace("MAPI")
Set oFldrSb = oNs.Folders("[email protected]")
Set oFldrSbSb = oFldrSb.Folders("Inbox")
Set oFldrSbSbsb = oFldrSbSb.Folders("Toolkit Downloads")
For Each oMessage In oFldrSbSbsb.Items
With oMessage.Attachments
iAttachCnt = .Count
If iAttachCnt > 0 Then
For Ictr = 1 To iAttachCnt
.Item(Ictr).SaveAsFile sPathName _
& .Item(Ictr).Parent
Next Ictr
End If
End With
DoEvents
Next oMessage
SaveAttachments = True
MsgBox "All Indepol Download files have been moved !!" & vbCrLf & vbCrLf & "It worked... Yahoo"
End Sub
Quelle instruction donne l'erreur 438? –
Y at-il quelque chose dans les dossiers ("Toolkit Downloads") qui n'est pas un MailItem? Seuls les MailItems ont des pièces jointes. –
Pourquoi utilisez-vous .'Item (Ictr) .Parent' comme partie du nom du fichier de sortie? Je n'ai jamais essayé mais je devinerais le parent d'une pièce jointe est le MailItem Un MailItem n'est pas une chaîne donc ne peut pas être utilisé de cette manière. Vous ne pouvez pas garantir qu'un tel nom est unique sans test. –