所以,我有一些非常基本的代码来自动下载电子邮件附件。它在很长一段时间内都运行良好,并且突然开始发挥作用。几点说明:
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服务器已更改内容的通知。