带有电子邮件日期的自动 Outlook 附件下载
Automated Outlook Attachment Download with Email Date
我希望这里有人可以帮助我解决这个问题。我在 https://www.pixelchef.net/content/rule-autosave-attachment-outlook 找到了某人分享的代码,它可以帮助我设置规则以根据规则自动下载附件。
代码工作正常,但我想调整它而不是像这样命名文件 2021-08-28 10-00Test 来格式化文件名这 Test_2021-08-28 10-00。该代码目前还在根据规则运行时间添加时间戳。我想将其更改为从电子邮件中获取日期和时间。
代码如下:
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
dateFormat = Format(Now, "yyyy-mm-dd H-mm")
saveFolder = "C:\path"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
感谢任何帮助。
您可以使用 MailItem.ReceivedTime 属性 which returns a Date
表示收到物品的日期和时间。
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd H-mm")
saveFolder = "C:\path"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
我在您的代码中注意到另外两个方面:
- 您的规则可以处理所有类型的 Outlook 项目 - 约会、会议请求、文档、邮件等。因此,添加类型检查以防止在处理不受支持的项目类型时出现任何意外结果是有意义的。
- 确保附加文件的文件名具有唯一的名称来保存。文件夹不能包含两个同名文件,而电子邮件可以包含两个显示名称相同的附件。
我希望这里有人可以帮助我解决这个问题。我在 https://www.pixelchef.net/content/rule-autosave-attachment-outlook 找到了某人分享的代码,它可以帮助我设置规则以根据规则自动下载附件。
代码工作正常,但我想调整它而不是像这样命名文件 2021-08-28 10-00Test 来格式化文件名这 Test_2021-08-28 10-00。该代码目前还在根据规则运行时间添加时间戳。我想将其更改为从电子邮件中获取日期和时间。
代码如下:
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
dateFormat = Format(Now, "yyyy-mm-dd H-mm")
saveFolder = "C:\path"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
感谢任何帮助。
您可以使用 MailItem.ReceivedTime 属性 which returns a Date
表示收到物品的日期和时间。
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd H-mm")
saveFolder = "C:\path"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
我在您的代码中注意到另外两个方面:
- 您的规则可以处理所有类型的 Outlook 项目 - 约会、会议请求、文档、邮件等。因此,添加类型检查以防止在处理不受支持的项目类型时出现任何意外结果是有意义的。
- 确保附加文件的文件名具有唯一的名称来保存。文件夹不能包含两个同名文件,而电子邮件可以包含两个显示名称相同的附件。