Outlook VBA:可以找到从客户端发送的所有未确认的电子邮件吗?

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

我是VBA的初学者,所以请耐心等待。需要一种方法来跟进我发送给其他用户的所有电子邮件,但其他用户从未回复过。它可以是新电子邮件,也可以是正在进行的对话中未回复的电子邮件。我需要一种方法来获取在对话或新邮件中从me发送的最后一封电子邮件,可以吗?

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

我的VBA脚本成功地在我的收件箱('\ [email protected] \ Inbox')中找到了电子邮件,并将它们移动到“未答复”子文件夹,但是问题是所有电子邮件大多来自其他用户。当我过滤来自我的电子邮件(通过使用文件夹中的默认过滤器,例如来自:“发件人”)时,得到的只是我自己发送的邮件或代表我从SharePoint服务器自动生成的邮件(例如共享的SharePoint网站)。其他用户)。我还尝试过仅搜索我的已发送文件夹('\ [email protected] \ Sent'),它列出的项目与我使用默认文件夹过滤器过滤从我发送的邮件时列出的项目相同。

为了确定将哪些邮件放入“未答复”文件夹中,我尝试了以下操作(不成功):

1)“ DASL搜索”,其中排除了最后执行的动词设置为“全部回复”或“回复至”的所有邮件。

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")

所以我尝试过滤PR_LAST_VERB_EXECUTED = 0的电子邮件,但这根本找不到任何电子邮件。

outlook-vba
1个回答
0
投票

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

@SQL="http://schemas.microsoft.com/mapi/proptag/0x10810003" is null
© www.soinside.com 2019 - 2024. All rights reserved.