2017-04-07 93 views
0

我有一個在Visual Basic 2010中使用Visual Basic 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中運行。
任何想法都會受到歡迎。屬性訪問器錯誤

+1

將您的代碼編輯到問題主體中,您可能會收到一些建議 –

回答

0

請記住,PropertyAccessor.GetProperty行爲已改變(在Outlook 2010?)當涉及到不存在的屬性 - GetProperty現在將引發異常而不是返回null。

您需要預期並處理該異常 - 不應期望MAPI屬性存在。在您的具體情況下,缺少PR_ATTACHMENT_HIDDENPR_ATTACHMENT_HIDDEN == false相同。

查看OutlookSpy附件上的可用MAPI屬性 - 選擇消息,單擊OutlookSpy功能區上的IMessage按鈕,轉到GetAttachmentTable選項卡,雙擊附件。

+0

非常感謝您的回覆。這肯定發生在Outlook 2007的MS更新中,因爲該程序自寫入以來未更改過。根據OutlookSpy,沒有PR_ATTACH_FLAGS或PR_ATTACH_CONTENT_ID。當我通過檢查PR_ATTACH_FLAGS = 4來提取嵌入的圖像時,我將不得不做更多的測試。 – Gerry

+0

PR_ATTACH_CONTENT_ID不是一個足夠的檢查 - HTML主體可以通過文件名引用圖像。你真的需要看看HTML,看看哪些文件應該被視爲圖像。 –