【发布时间】:2020-05-09 19:53:15
【问题描述】:
我需要跟进从我发送给其他用户但其他用户从未回复的所有电子邮件。它可以是新的电子邮件,也可以是正在进行的对话中未回复的电子邮件。
如何在对话或新邮件中获取我发送的最后一封电子邮件?
我正在运行 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 的电子邮件,但这导致根本找不到电子邮件。
【问题讨论】:
-
这些电子邮件在哪里?我希望来自您的电子邮件位于“已发送邮件”文件夹中。我希望您的电子邮件到在文件夹收件箱中。您正在尝试将一些电子邮件移动到未答复的文件夹中。这表明要了解转换的状态,您需要查看三个文件夹。我是否正确理解了这个问题?
-
嗨托尼!感谢您的问题,根据它澄清了我最初的问题描述!这些项目位于我的收件箱中,我的假设是查询会自动在所有文件夹中查找项目,包括已发送文件夹?我尝试查询已发送文件夹,但这仅返回发送给我自己或从共享点自动生成的邮件,而不是我在对话中的最后一封电子邮件。
-
你能发布你的代码吗?