我有一个收件箱规则,当消息“仅在此计算机上”到达时运行,该规则执行宏。
宏从发件人电子邮件地址中提取域。它还会覆盖内部用户对“Exchange”的 Exchange 响应
这允许我在收件箱中拥有一个带有电子邮件发件人域的自定义字段,我将其用于许多事情,包括排序、分类等。
问题是它定期失败,我不知道为什么。我需要捕获更多关于什么消息导致它无法找到模式和可能的修复的信息,除非您可以在代码本身中看到问题:
Public Sub ExtractDomain(Item As Outlook.MailItem)
Dim oProp As Outlook.UserProperty
Dim sDomain
On Error Resume Next
sDomain = Right(Item.SenderEmailAddress, Len(Item.SenderEmailAddress) - InStr(1,Item.SenderEmailAddress, "@"))
If Left(sDomain, 66) = "/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (xxxxxxxxxxxxx)" Then sDomain = "Exchange"
Set oProp = Item.UserProperties.Add("Domain", olText, True)
oProp.Value = sDomain
Item.Save
Err.Clear
End Sub
当它失败时,我进入规则,编辑规则,不做任何更改,但再次保存它,重新启用它,然后它运行良好,直到下一次。
尝试删除
On Error Resume Next
,看看是否会出现更好的错误。或者实际显示错误:
Public Sub ExtractDomain(Item As Outlook.MailItem)
Dim oProp As Outlook.UserProperty
Dim sDomain
On Error Resume Next
sDomain = Right(Item.SenderEmailAddress, Len(Item.SenderEmailAddress) - InStr(1,Item.SenderEmailAddress, "@"))
If Left(sDomain, 66) = "/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (xxxxxxxxxxxxx)" Then sDomain = "Exchange"
Set oProp = Item.UserProperties.Add("Domain", olText, True)
oProp.Value = sDomain
Item.Save
if Err.Number <> 0 Then
MsgBox Rrr.Description
End If
Err.Clear
End Sub
我怀疑您在添加用户属性时遇到错误。