Outlook VBA代码在电子邮件中显示图片
默认情况下,我的MS Outlook 2013被设置为不下载收到的HTML电子邮件中的图像。我想保持这个设置。Outlook VBA代码在电子邮件中显示图片
有一些发件人的电子邮件是由我的Outlook VBA代码处理的......并归档到特定文件夹(而不是INBOX)中。我不使用内置的规则。
这些是已知的发件人...我想要从这些SELECT KNOWN发件人的电子邮件中下载并显示图片。我可以为每个电子邮件手动执行此操作...通过右键单击等等......但是当有许多此类电子邮件时,这是一种痛苦。
我无法弄清下载/启用电子邮件中图像/图片显示所需的几行代码(一行?)。像... MailItem.Display(它不工作...它只显示邮件在一个独立的窗口)...或MailItem.DisplayImages(这不是一个已知的方法!)。
我会在处理某些已知发件人的电子邮件的例程中包含这一行(或多行)......以便他们的电子邮件始终具有下载和显示的图像/图片。
谢谢。
Outlook对象模型不提供任何属性或方法。
您需要设置PidTagBlockStatus
属性 - 请参见http://msdn.microsoft.com/en-us/library/ee219242(v=exchg.80).aspx。
请注意,虽然您可以使用MailItem.PropertyAccessor.SetProperty读取/写入该属性,但无法正确计算其值 - Outlook对象模型将消息传递时间的值舍入,并且您需要原始扩展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