运行VBA脚本以保存附件时,Outlook 365“错误规则”

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

[几年前,我创建了一些Outlook规则,以在电子邮件到达时保存附件。每个规则的条件都在查看:主题中的特定单词,“仅在此计算机上”,删除消息并从模块中运行以下脚本:

Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "S:\CSVs"
     For Each objAtt In itm.Attachments
          objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
          Sleep (5000)
          Set objAtt = Nothing
     Next
End Sub

版本是Windows Server 2012-R2上的Outlook 365 ProPlus 1912(每月通道)。 Windows是最新的,除了以下两个可选更新(我无法进行更新):

  • 2020-01月质量汇总预览(KB4534324)
  • 2020-01.NET Framework质量汇总预览(KB4535674)

某些受影响的电子邮件每小时发送一次,其余电子邮件每天发送。

[直到大约2个月前,一切都工作顺利,这可能与Windows和/或Office 365更新一致。从那时起,当我远程进入服务器时,每天早上我都会收到“错误规则”消息,这些消息在等待着我(我想我一直保持登录状态)。执行规则的所有部分,但不保存附件。最初,我怀疑这是VPN问题,它在8小时后超时并断开了与我的连接,但是今天早晨,当我连接到VPN&服务器时,我收到2条规则错误。如果我手动运行Outlook规则,则不会出现错误。

[我怀疑问题出在VB代码上,根据Google搜索的各种建议,我已经尝试过在VBA脚本中检查/取消选中“仅在这台计算机上”,私有和公共声明/子项的组合。

免责声明:VBA新手

vba outlook office365 windows-server-2012-r2
1个回答
0
投票

原始海报-这里有什么解决办法?我正在为类似的事情而苦苦挣扎。一个基于Outlook的VBA(Office365环境)在一个月前就停止工作了,一年就可以了。

一旦我设置了规则,它可能会运行一次(第二天早晨),但是在那之后的早晨将产生“ Rules in Error”错误消息,仅此而已。一直在考虑利用Flow将附件保存到OneDrive,并自动执行剪切和粘贴功能以从那里删除附件以进行进一步处理,但我一直想知道发生了什么事以及为什么它不会像这样运行它做了。显然,Flow-option也会使事情变得更复杂(有点)。

设置Outlook规则并运行“为收件箱中的项目运行规则”每次也可以正常工作。

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