首页 > 解决方案 > 如何查找客户发送的所有未答复的电子邮件?

问题描述

我需要跟进从我发送给其他用户但其他用户从未回复的所有电子邮件。它可以是新电子邮件,也可以是正在进行的对话中未回复的电子邮件。

如何在对话或新邮件中获取我发送的最后一封电子邮件?

我正在运行 Microsoft Office 356 ProPlus 版本 1908(内部版本 11929.20606)

我的 VBA 脚本在我的收件箱 ('\firstname.lastname@domain.com\Inbox') 中找到电子邮件并将它们移动到“未答复”子文件夹。

问题是电子邮件主要来自其他用户,当我过滤来自我的电子邮件时(通过使用文件夹中的默认过滤器,例如来自:“发件人”),我得到的只是发送给自己的邮件或来自 SharePoint 服务器的自动生成的邮件代表我(例如与其他用户共享 SharePoint 网站)。

我尝试仅搜索我的已发送文件夹('\firstname.lastname@domain.com\Sent'),这列出了与我使用查询收件箱时获得的默认文件夹过滤器过滤从我发送的邮件时相同的项目.

为了决定将哪些邮件放入我的“未答复”文件夹,我尝试了以下方法:

1) “DASL 搜索”通过排除所有最后执行的动词设置为“replied to all”或“replied to”的邮件。

NOT ("http://schemas.microsoft.com/mapi/proptag/0x10810003" = 102 OR "http://schemas.microsoft.com/mapi/proptag/0x10810003" = 103)

2) 使用 ConversationIndex,我在网上发现未答复的邮件的 ConversationIndex 长度 = 44:

If Len(objVariant.ConversationIndex) = 44 Then

3) 使用 LastExecutedVerb。通过检查对话中电子邮件的属性注意到,我作为最新项目发送的电子邮件在使用时始终具有“PR_LAST_VERB_EXECUTED 0”:

Debug.Print "PR_LAST_VERB_EXECUTED", propertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x10810003")

SoIi 尝试过滤 PR_LAST_VERB_EXECUTED = 0 的电子邮件,但这导致根本找不到电子邮件。

标签: vbaoutlook

解决方案


PR_LAST_VERB_EXECUTED检查必须是缺少的属性(= null)

@SQL="http://schemas.microsoft.com/mapi/proptag/0x10810003" is null

推荐阅读