我在这里找到了一些有关试图从getTable()结果中获取收件人信息的个人的资料,其中一个资料指向了Microsoft论坛,MVP指出了一个潜在的解决方案,但并未对此进行全面扩展。我当前的代码如下:
Set MyTable = MySearch.GetTable
MyTable.Columns.Add ("http://schemas.microsoft.com/mapi/proptag/0x0E03001E")
Do Until MyTable.EndOfTable
Set nextRow = MyTable.GetNextRow()
For Each OutRecip In Session.GetItemFromID(nextRow("EntryID")).Recipients
OutRecip.PropertyAccessor.GetProperty ("http://schemas.microsoft.com/mapi/proptag/0x39FE001E")
Next
Loop
当前,我必须提取条目ID,然后找到邮件项目,然后从中获取收件人列表。考虑到我使用的是要有效的高级搜索功能,我发现它运行缓慢,并希望找到一种更快的方法。是否有任何具有to,cc和bcc的架构属性,我可以使用vba中的某种文本函数以某种方式提取其中的内容?
答案 0 :(得分:2)
不能从MAPI表中提取收件人信息。最好的办法是PR_DISPLAY_TO
/ PR_DISPLAY_CC
/ PR_DISPLAY_BCC
,但是这些消息属性(通常)不包含电子邮件地址或条目ID。
您可以基于收件人属性创建搜索条件,但是为此需要扩展MAPI(C ++或Delphi)或兑换(任何语言)。