Outlook VBA读取Ack和NAck属性

时间:2017-05-05 04:08:15

标签: vba outlook outlook-vba outlook-2003

处理Outlook Read Ack和NAck通知时(即Item.MessageClassREPORT.IPM.Note.IPNRNIPNNRN)查询Item.SenderNameItem.To/Item.Recipients会抛出

  

运行时错误438(对象不支持此属性或方法)。

检查每个Item.ItemProperties.Name表明这是真的。但是,在应用程序中显示的这些项目显然有一个From和To值。我怎么能以编程方式进入这些?

版本是 Outlook 2003(11.8330.8405)SP3 。目前无法升级。

1 个答案:

答案 0 :(得分:0)

Outlook对象模型不会公开ReportItem对象的这些属性。

您应该能够使用ReportItem.PropertyAccessor.GetProperty访问与发件人相关的属性(您可以在OutlookSpy中找出DASL属性名称 - 选择项目,单击IMessage按钮,选择属性,查看DASL名称编辑框)。

对于收件人,您只有选项是扩展MAPI(C ++或Delphi,ReportItem.MAPIOBJECT属性将返回IMessage MAPI对象)或Redemption(任何语言,您都可以创建{{{{ 3}} object,从Outlook中将其MAPIOBJECT属性设置为Application.Session.MAPIOBJECT,然后使用RDOSession.GetItemFromIdRDOSession.GetRDOObjectFromOUtlookObject来获取RDOSession对象的实例。

修改

PropertyAccessor已添加到Outlook 2007中,因此在Outlook 2003中无法使用。如果您使用的是VBA,则赎回将是您唯一的选择...