2014-12-07 230 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對象模型將消息傳遞時間的值舍入,並且您需要原始擴展MAPI值(僅在C++或Delphi中可訪問)作爲FileTime結構。

如果使用Redemption是一個選項,它會公開RDOMailDownloadPictures財產。像下面的東西應該做的工作(VB腳本):

set Session = CreateObject("Redemption.RDOSession") 
    Session.MAPIOBJECT = Application.Session.MAPIOBJECT 
    set Item = Session.GetRDOObjectFromOutlookObject(YourOutlookItem) 
    Item.DownloadPictures = true 
    Item.Save 
相關問題