我使用Visual Studio 2010在Visual Basic中创建了一个Outlook 2007加载项。我很久以前开发了这个加载项,它一直运行良好。我使用附件PropertyAccessor检测嵌入的图像。我现在必须回去做一些更改,并遇到以下问题。尝试获取该属性现在给我以下错误(它以前从未做过)
The property "http://schemas.microsoft.com/mapi/proptag/0x37140003" is unknown or cannot be found.
其他属性我可以很好。我看到其他帖子有相同的错误,提到没有设置PR_ATTACHMENT_HIDDEN属性。我不明白这一点,因为附件是我从另一个帐户发送的普通jpg。如果我在Outlook 2016中构建加载项并安装它可以正常工作。我觉得奇怪的是它过去没有错误。我不知道它是否有任何区别,但它在VirtualBox中运行
任何想法都会受到欢迎。
答案 0 :(得分:0)
请注意,当涉及到不存在的属性时,PropertyAccessor.GetProperty
行为已更改(在Outlook 2010中?) - GetProperty现在将引发异常而不是返回null。
您需要预期并处理该异常 - 不应该出现任何MAPI属性。在您的特定情况下,缺少PR_ATTACHMENT_HIDDEN
与PR_ATTACHMENT_HIDDEN
== false。
在OutlookSpy中查看附件上的可用MAPI属性 - 选择消息,单击OutlookSpy功能区上的IMessage按钮,转到GetAttachmentTable选项卡,双击附件。