【发布时间】:2015-05-08 21:05:42
【问题描述】:
主要问题它只重命名第一个附件,我无法控制电子邮件中的其他项目。
此代码保存我的附件并重命名它。如果电子邮件只有一个附件并且签名中没有图像,则它可以工作。如果电子邮件带有一个 Excel 文件和签名中的图像,它会将图像重命名为我想要的 Excel 文件名,然后保留 Excel 文件的原始名称。
如果我还可以在存档中指定特定的扩展名,那就太棒了。
Public Sub saveAttachtoDisk_Vendor(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim fso As Object
Dim oldName
Dim file As String
Dim DateFormat As String
Dim newName As String
Dim enviro As String
saveFolder = "S:\Test\"
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
For Each objAtt In itm.Attachments
file = saveFolder & objAtt.DisplayName
objAtt.SaveAsFile file
Set oldName = fso.GetFile(file)
DateFormat = Format(oldName.DateLastModified, "yyyy-mm-dd ")
newName = "Vendor.xls"
oldName.Name = newName
Set objAtt = Nothing
Next
Set fso = Nothing
End Sub
我正在玩弄这些代码,但无法让它们工作。
validExtString = ".doc .docx .xls .xlsx .msg .pdf .txt" ' <---- Update as needed
validExtArray = Split(validExtString, " ")
还有这个。
If Right(Atmt.FileName, 3) = "xls" Then
FileName = "C:\Email Attachments\" & Atmt.FileName
Atmt.SaveAsFile FileName
i = i + 1
End If
【问题讨论】:
标签: vba outlook attachment