vba - 如何查找客户发送的所有未答复的电子邮件?
问题描述
我需要跟进从我发送给其他用户但其他用户从未回复的所有电子邮件。它可以是新电子邮件,也可以是正在进行的对话中未回复的电子邮件。
如何在对话或新邮件中获取我发送的最后一封电子邮件?
我正在运行 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 的电子邮件,但这导致根本找不到电子邮件。
解决方案
PR_LAST_VERB_EXECUTED
检查必须是缺少的属性(= null)
@SQL="http://schemas.microsoft.com/mapi/proptag/0x10810003" is null
推荐阅读
- r - 根据闪亮的输入有条件地显示标记格式的文本
- bash - 查找被`-exce rm`删除的目录的策略
- javascript - JS 倒数计时器网站不会自动重置
- selenium - 如何从远程网页管理 cookie
- javascript - 重构 JavaScript 数组:m n-dim 数组 --> nxm 矩阵
- kotlin - 为什么 Corda 合约在 Kotlin CorDapp 模板中是一个单独的模块?
- html - 在部分中定位相对和绝对 - 相对部分相互干扰?
- php - Wordpress 中的自定义字段搜索
- python - TemplateDoesNotExist at /(django 的路由问题)
- c++ - 抛出异常:访问冲突