下载多个电子邮件附件并重命名它们
Download Multiple Email Attachments & Rename them
我每天都会收到来自 10 多个不同商店的电子邮件。每封电子邮件通常有多个附件。我将每封电子邮件的附件下载到相应的本地子目录中。
我使用在网上找到的代码下载附件。我将脚本与规则相结合,以便附件下载到它们各自的本地文件夹。
问题:假设商店 1 每天发送一个名为 ABC.xlsx 的文件。我的规则/脚本 运行,以相反的时间顺序排列,因此脚本逐一检查每封邮件,每个文件替换最新的文件,直到我得到最早的文件。
我需要我的脚本来保存最新的文件,或者更恰当地说,更新文件名并将当前日期附加到现有文件名。
Public Sub SaveAttachmentsToDisk_St10(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "H:\Folder1\Projects\Online\Data\Store 10\MC\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
您可以使用 ReceivedTime 从邮件中获取日期。此 returns 日期,将其与 Format
函数一起使用以创建附加到文件名的后缀。我建议将日期设置为 YYYYMMDD,这有助于对文件名进行排序。
For Each oAttachment In MItem.Attachments
Dim filename As String, p As Long, suffix As String
filename = oAttachment.DisplayName
suffix = "_" & Format(MItem.ReceivedTime, "YYYYMMDD_HHNN")
' Now add the suffix before the file extension
p = InStrRev(filename, ".") ' Find dot to separate file extension
If p > 0 Then
filename = Left(filename, p - 1) & suffix & Mid(filename, p)
Else
filename = filename & suffix
End If
oAttachment.SaveAsFile sSaveFolder & filename
Next
我每天都会收到来自 10 多个不同商店的电子邮件。每封电子邮件通常有多个附件。我将每封电子邮件的附件下载到相应的本地子目录中。
我使用在网上找到的代码下载附件。我将脚本与规则相结合,以便附件下载到它们各自的本地文件夹。
问题:假设商店 1 每天发送一个名为 ABC.xlsx 的文件。我的规则/脚本 运行,以相反的时间顺序排列,因此脚本逐一检查每封邮件,每个文件替换最新的文件,直到我得到最早的文件。
我需要我的脚本来保存最新的文件,或者更恰当地说,更新文件名并将当前日期附加到现有文件名。
Public Sub SaveAttachmentsToDisk_St10(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "H:\Folder1\Projects\Online\Data\Store 10\MC\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
您可以使用 ReceivedTime 从邮件中获取日期。此 returns 日期,将其与 Format
函数一起使用以创建附加到文件名的后缀。我建议将日期设置为 YYYYMMDD,这有助于对文件名进行排序。
For Each oAttachment In MItem.Attachments
Dim filename As String, p As Long, suffix As String
filename = oAttachment.DisplayName
suffix = "_" & Format(MItem.ReceivedTime, "YYYYMMDD_HHNN")
' Now add the suffix before the file extension
p = InStrRev(filename, ".") ' Find dot to separate file extension
If p > 0 Then
filename = Left(filename, p - 1) & suffix & Mid(filename, p)
Else
filename = filename & suffix
End If
oAttachment.SaveAsFile sSaveFolder & filename
Next