2014-12-07 6 views
1

По умолчанию мой MS Outlook 2013 установлен НЕ для загрузки изображений в полученные сообщения электронной почты HTML. Я хотел бы сохранить эту настройку.Outlook vba код для отображения изображений по электронной почте

Есть некоторые отправители, чьи письма обрабатываются кодом Outlook VBA ... и хранятся в определенных папках (а не в INBOX). Я не использую встроенные ПРАВИЛА.

Это известные отправители ... и я хотел бы получить фотографии в письмах от этих отправителей SELECT KNOWN, загруженных и отображаемых. Я мог бы сделать это вручную для каждого письма ... щелкнув правой кнопкой мыши и т. Д., Но это боль ... когда таких писем много.

Мне не удалось вычислить несколько строк кода (одна строка?), Необходимая для загрузки/включения отображения изображений/изображений в письме. Что-то вроде ... MailItem.Display (который не работает ... он отображает только почту в независимом окне) ... или MailItem.DisplayImages (это не известный метод!).

Я бы включил эту строку (или строки) в рутину, которая обрабатывает электронные письма от некоторых известных отправителей .... так что в их письмах всегда есть изображения/картинки, загруженные и отображаемые.

Спасибо.

ответ

0

Объектная модель Outlook не предоставляет никаких свойств или методов для этого.

1

Вам необходимо установить свойство PidTagBlockStatus - см. http://msdn.microsoft.com/en-us/library/ee219242(v=exchg.80).aspx.

Обратите внимание, что, хотя вы можете читать/записывать это свойство с помощью MailItem.PropertyAccessor.SetProperty, вы не сможете правильно вычислить его значение. Объектная модель Outlook округляет значение времени доставки сообщения, и вам понадобится raw Расширенное значение MAPI (доступно только на C++ или Delphi) в качестве структуры FileTime.

Если опция Redemption является опцией, она предоставляет RDOMail. DownloadPictures Недвижимость. Что-то вроде следующего должно выполнить работу (сценарий VB):

set Session = CreateObject("Redemption.RDOSession") 
    Session.MAPIOBJECT = Application.Session.MAPIOBJECT 
    set Item = Session.GetRDOObjectFromOutlookObject(YourOutlookItem) 
    Item.DownloadPictures = true 
    Item.Save 
Смежные вопросы