保存附件的 Outlook VBA 停止工作

问题描述 投票:0回答:1

您好,我在规则中使用了下面的基本脚本,将附件保存到我的 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

规则设置在到达时搜索电子邮件主题或正文中的特定短语,然后运行脚本。

我希望这是显而易见的。

我希望相关电子邮件的所有附件都保存在指定的文件夹中。这个脚本会在每个星期一早上为我节省一两个小时的工作,非常感谢您的帮助。

vba outlook email-attachments rules
1个回答
0
投票

首先,确保您的规则已运行并调用了脚本。

然后你可以尝试在文件夹路径的末尾添加一个反斜杠:

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
属性值来使文件名唯一。

© www.soinside.com 2019 - 2024. All rights reserved.