Outlook以编程方式读取里程字段导致邮件卡在发件箱中

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

我正在使用Outlook VBA(电子邮件归档工具包)进行开发。有谁知道一种方法来读取发件箱文件夹中电子邮件的里程字段,而不会导致电子邮件卡在发件箱中?在我的应用程序范围内,不是重新发送所有电子邮件的选项,而是我必须阅读所有电子邮件的字段值才能决定是否停止显示并重新发送。如果我修改了我的要求,那么重新发送似乎是合理的,但我没有这样做。我只是在阅读。

我以为我可以通过将对象读为“ object”类型而不是“ mail item”来治愈,但结果是红色鲱鱼。

读取该属性是我非常简单且可靠的解决方法,可解决以下问题:应用程序send_mail事件不会为简单的MAPI电子邮件触发。不幸的是,它破坏了其他电子邮件的策略。

非常感谢您的帮助。我是VBA程序员,而不是“真正的”程序员,所以希望有人在我的技能范围内有想法。

编辑@niton。按照要求。没什么。 ItemSend并不总是会开火不是吗?

Private Sub Application_ItemSend(ByVal项目为对象,取消为布尔值)关于错误继续下一个

    InitEvents True    'Reinstantiate the custom handlers if necessary

    If LCase(TypeName(Item)) = "mailitem" Then
            Item.Mileage = ""
            PrepToSendMK166 Item
    End If

结束子

outlook-vba
1个回答
0
投票

在提交过程中触摸消息会停止提交。 Application.ItemsSend事件是您在移交给运输提供商之前触摸消息的最后机会。您的下一个机会(对您来说可能为时已晚)是将邮件移至“已发送邮件”文件夹,并且触发Items.ItemAdd事件。

您尝试执行的操作没有解决方案。还请注意,发件箱文件夹非常吸引人:使用MAPI时,可以从任何文件夹提交邮件,而不仅仅是发件箱。

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