您好,我在规则中使用了下面的基本脚本,将附件保存到我的 C:\ 驱动器上存在的文件夹中。上周运行良好,但现在没有,我不知道发生了什么变化。
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "C:\Users\warre\Timesheets_IN"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
规则设置在到达时搜索电子邮件主题或正文中的特定短语,然后运行脚本。
我希望这是显而易见的。
我希望相关电子邮件的所有附件都保存在指定的文件夹中。这个脚本会在每个星期一早上为我节省一两个小时的工作,非常感谢您的帮助。
首先,确保您的规则已运行并调用了脚本。
然后你可以尝试在文件夹路径的末尾添加一个反斜杠:
oAttachment.SaveAsFile sSaveFolder & "\" & oAttachment.DisplayName
或者只是尝试通过以下方式更改文件夹路径字符串:
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "C:\Users\warre\Timesheets_IN\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
请注意,
DisplayName
属性值对于不同电子邮件中的附件可以相同,因此文件在保存到磁盘时可以简单地被覆盖。考虑向文件名添加任何 ID 以使其唯一。例如,您可以考虑使用 RecievedTime
属性值来使文件名唯一。