处理Outlook Read Ack和NAck通知时(即Item.MessageClass
为REPORT.IPM.Note.IPNRN
或IPNNRN
)查询Item.SenderName
或Item.To/Item.Recipients
会抛出
运行时错误438(对象不支持此属性或方法)。
检查每个Item.ItemProperties.Name
表明这是真的。但是,在应用程序中显示的这些项目显然有一个From和To值。我怎么能以编程方式进入这些?
版本是 Outlook 2003(11.8330.8405)SP3 。目前无法升级。
答案 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.GetItemFromId
或RDOSession.GetRDOObjectFromOUtlookObject
来获取RDOSession对象的实例。
修改强>
PropertyAccessor已添加到Outlook 2007中,因此在Outlook 2003中无法使用。如果您使用的是VBA,则赎回将是您唯一的选择...