自动下载电子邮件附件已停止工作

时间:2017-07-18 23:13:47

标签: outlook outlook-vba outlook-2010

所以,我有一些非常基本的代码来自动下载电子邮件附件。它在很长一段时间内都运行良好,并且突然开始发挥作用。几点说明:

1)几个星期前,它开始轻易地继续使用fritz - 只需重新运行规则就可以正确地下载所有内容。没问题,如果我们能恢复到这种状态,我会很高兴。

2)规则存储在客户端。我们最近移动了办公桌,这也需要重新创建(阅读:复制和粘贴)我们的所有规则。这项工作好几天 - 然后开始出现更大的问题 - 也就是说,它根本不起作用。当我尝试手动运行规则时,它只是在几秒钟后“短路” - 我怀疑它何时进入“运行宏”部分。自动下载不起作用,手动运行规则不起作用。

一些注意事项:

1)启用宏 2)宏安全设置在“运行所有宏”上 3)代码存储在模块1中,然后存储在“ThisOutlookSession”中。来回变换没有影响 4)这已经影响了几个人 - 我已经为几个不同的人设置了自动下载,我们都已经开始了。公平地说,在我们搬办公桌之前,我没有把它们安排好。我在其他两台计算机上尝试过类似的故障排除步骤。没运气。
5)我不能使用除Microsoft Office程序之外的任何程序。不能使用Python或任何其他类型的外部程序。

原始代码:

Public Sub SaveDownPriceFilesforMargin(itm As Outlook.MailItem)

Dim objAtt As Outlook.Attachment


Dim saveFolder As String


saveFolder = "FilePathHere"

     For Each objAtt In itm.Attachments

          objAtt.SaveAsFile saveFolder & objAtt.DisplayName

          Set objAtt = Nothing
     Next
 End Sub

当前代码迭代:

Public Sub SaveDownPriceFilesforMargin(itm As Outlook.MailItem)

On Error GoTo ErrorHandler
Dim objAtt As Outlook.Attachment

Dim dt As String

Dim saveFolder As String

dt = Format(Date, "MMDDYY")

saveFolder = "FilePathHere"

     For Each objAtt In itm.Attachments

          objAtt.SaveAsFile saveFolder & objAtt.DisplayName

          Set objAtt = Nothing
     Next
ProgramExit:
  Exit Sub
ErrorHandler:
  MsgBox Err.Number & " - " & Err.Description
  Resume ProgramExit

End Sub

要说清楚,我所做的主要改变是我在这里找到的代码:Outlook script used to download attachments stopped working。它没有导致问题得到解决。

未生成任何错误消息。

编辑:当规则自然地捕获电子邮件时,偶尔会生成“操作失败”错误消息。当我尝试手动运行规则时,不会运行此错误消息。

如何让我的自动附件再次运作?

还有一个注意事项,因为我在这里:了解如何仅获取下载名称并单独获取扩展名是非常好的 - 例如,ExcelFile.Xlsx被解析为“ExcelFile”和“ .xslx“ - 但这是一个单独的小问题,我可以通过广泛的谷歌搜索找到。

编辑:

1)停止工作 - 规则将移动文件,但不再下载文件。当传入的电子邮件触发规则时,有时会弹出错误消息。手动运行规则时不会出现错误消息。

2)编辑了代码中的日期

3)路径是一个绝对路径,在代码中定义。我有权写入相关文件夹,并且必须在之后手动将文件保存到该位置。

4)Exchange设置更改 - 我没有收到任何有关Exchange服务器已更改内容的通知。

0 个答案:

没有答案