excel - 使用 VBA 按电子邮件地址域搜索 olFolderSentMail
问题描述
我想使用 VBA 使用电子邮件地址的域在 olFolderSentMail 文件夹中查找邮件。
当我在 Outlook 中制作高级筛选器时,结果就出来了。我从那里得到了sql代码。VBA 中没有结果。
例如,我想同时查找 a@kpmg.com、b@kpmg.com。只有名称在 Outlook 的谁部分中显示为 a 和 b。邮件地址隐藏在名称中。
Sub sentmails()
Dim objNS As Outlook.Namespace: Set objNS = GetNamespace("MAPI") Dim
olFolder As Outlook.MAPIFolder
Set olFolder = objNS.GetDefaultFolder(olFolderSentMail)
filterstr = "@SQL=(""http://schemas.microsoft.com/mapi/proptag/0x0e04001f""
CI_STARTSWITH 'kpmg' OR ""http://schemas.microsoft.com/mapi/proptag/0x0e03001f"" CI_STARTSWITH 'kpmg')"
Set arama = olFolder.Items.Restrict(filterstr)
End Sub
解决方案
首先,您不是在搜索后缀 ( *kpmg.com
),而是在搜索前缀 ( kpmg*
)。其次,//To
属性甚至可能不包含电子邮件地址,只包含姓名。CC
BCC
在扩展 MAPI 级别(C++ 或 Delphi)上,可以对邮件收件人创建子限制,但 Outlook 对象模型不会公开它。
如果使用Redemption是一种选择,您可以使用类似于以下脚本的脚本:
Set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
Set folder = Session.GetDefaultFolder(olFolderSentMail)
set restItems = folder.Items.Restrict("Recipients LIKE '%kpmg.com%' ")
MsgBox restItems.Count
推荐阅读
- rest - 构建 REST api 同步应用程序时需要考虑哪些架构模式?
- php - “通过电子邮件发送此页面”链接到 WordPress/WooCommerce 存档页面不会获取页面 URL
- python - 使用 Python 从 CSV 文件中提取列数据
- javascript - Javascript 显示/隐藏鼠标活动的视频控件
- pine-script - 如何在 PINE 脚本中保持当前状态?
- javascript - ES6:使用 .next() 属性创建类(iterationg 属性字段值)
- jenkins - 从 Jenkins 服务器使用 Jmeter 运行 Kafka 消息传递的负载测试时出现错误
- javascript - 为什么我的转换:转换不能反向工作?
- c++ - 尝试使用模板模板参数来理解部分模板专业化
- algorithm - 等于或超过给定数字的所有组合