【问题标题】:PropertyAccessor error属性访问器错误
【发布时间】:2017-09-03 00:09:30
【问题描述】:

我有一个使用 Visual Basic 和 Visual Studio 2010 制作的 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 中运行。
欢迎任何想法。

【问题讨论】:

  • 将您的代码编辑到问题正文中,您可能会得到一些想法

标签: vb.net outlook-addin


【解决方案1】:

请记住,PropertyAccessor.GetProperty 的行为在涉及不存在的属性时发生了变化(在 Outlook 2010 中?) - GetProperty 现在将引发异常而不是返回 null。

您需要预料到并处理该异常 - 不应出现任何 MAPI 属性。在您的特定情况下,缺少PR_ATTACHMENT_HIDDENPR_ATTACHMENT_HIDDEN == false 相同。

查看OutlookSpy 中附件的可用 MAPI 属性 - 选择邮件,单击 OutlookSpy 功能区上的 IMessage 按钮,转到 GetAttachmentTable 选项卡,双击附件。

【讨论】:

  • 非常感谢您的回复。这一定发生在 Outlook 2007 的 MS 更新中,因为该程序自编写以来没有更改。根据 OutlookSpy,没有 PR_ATTACH_FLAGS 或 PR_ATTACH_CONTENT_ID。当我通过检查 PR_ATTACH_FLAGS = 4 提取嵌入图像时,我将不得不做更多的测试。
  • PR_ATTACH_CONTENT_ID 不是一个充分的检查 - HTML 正文可以通过其文件名引用图像。您确实需要查看 HTML 以了解哪些文件应被视为图像。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
相关资源
最近更新 更多