Argh, l'objet ne prend pas en charge cette propriété ou erreur de méthode 438!Outlook: attacher un fichier avec un nom dynamique
Je ne l'ai pas essayé, mais je pense que cela pourrait fonctionner:
objFS.System.IO.Path.GetFileName(fileName)
if objFS.System.IO.Path.GetFileName(fileName) = "VS12_WID1" Then
fileName = AFile.Name
getFileName = filePath & "/" & fileName
je devrais simplfy plus puis essayez de renommer le fichier.
Sub AddAttachment()
Dim myAttachments As Outlook.Attachments
Dim getFile, fileName, filePath As String
Set filePath = "F:\"
Set fileName = "V_W_*_*_.pdf"
Set getFile = "filePath" & "fileName"
Set MyApp = CreateObject("Outlook.Application")
Set myItem = MyApp.CreateItem(0)
Set myAttachments = myItem.Attachments
With myItem
.To = "[email protected]"
.CC = ""
.Subject = "test"
myAttachments.Add getFile
.ReadReceiptRequested = False
.HTMLBody = "Report(s) Attached"
End With
myItem.Send
End Sub
Je reçois une erreur de compilation: objet nécessaire à la fois mettre en évidence sous AddAttachment() et Set filePath. Je me sens si proche de faire ce travail!
CODE MISE À JOUR:
Sub AddAttachment()
Dim myAttachments As Outlook.Attachments
Dim getFileName, fileName, filePath As String
Dim objFS: Set objFS = CreateObject("Scripting.FileSystemObject")
Set filePath = "F:\"
Set getFileName = filePath & fileName
Set MyApp = CreateObject("Outlook.Application")
Set myItem = MyApp.CreateItem(0)
Set myAttachments = myItem.Attachments
For Each fileName In filePath
If fcase(objFS.GetExtensionName(fileName)) = "VS111111_WID111A" Then
fileName = "VS111111_WID111A.pdf"
Exit For
End If
Next
With myItem
.To = "[email protected]"
.CC = ""
.Subject = ""
myAttachments.Add getFileName
.ReadReceiptRequested = False
.HTMLBody = "Report(s) Attached"
End With
myItem.Send
End Sub
Je connais assez pour lire le script pour comprendre ce qui se passe. Le code que j'ai fait ne peut trouver qu'un nom de fichier fixe. Comment le nom de fichier peut-il être rendu dynamique?
Sub AddAttachment()
Dim myAttachments As Outlook.Attachments
Set MyApp = CreateObject("Outlook.Application")
Set myItem = MyApp.CreateItem(0)
Set myAttachments = myItem.Attachments
With myItem
.To = "[email protected]"
.CC = "[email protected]"
.Subject = ""
myAttachments.Add "F:\constantFilenameHas8char_constantFilenameHas7char_variableHas5Int_todaysModifiedDate_variableHas6Int.pdf"
.ReadReceiptRequested = False
.HTMLBody = "Report(s) Attached"
End With
myItem.Send
End Sub
Je l'ai testé et il attache uniquement le premier fichier qui a l'extension "pdf". Je vais continuer à essayer de créer du code qui va chercher un fichier avec une convention de nommage spécifique. – mrgrm00
Doux! Je peux utiliser GetFileName ou GetFileNameWithoutExtension Method Method! Yay! – mrgrm00
Je peux aussi travailler avec votre code actuel! Merci beaucoup! – mrgrm00