是否可以获取附件内容 - Outlook加载项API
答
致电Attachment.SaveAsFile
保存附件。
如果您试图在不将附件另存为文件的情况下访问附件内容,则Outlook对象模型不会对您有所帮助。您可以使用扩展MAPI(仅限C++或Delphi)并以流(IAttach::OpenProperty(PR_ATTACH_DATA_BIN, IID_IStream, ...)
)打开附件数据,也可以使用Redemption - 其附件对象公开AsText,AsArray等属性。
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set item = Session.GetMessageFromID(Application.ActiveExplorer.Selection(1).EntryID)
for each attach in item.Attachments
MsgBox attach.AsText
next
答
有关于如何做到这一点here一个例子:
使用:
var attachmentData =
attachment.PropertyAccessor.GetProperty(
PR_ATTACH_DATA_BIN);
但是,当我试图做到这一点,我只是得到了一个例外。
+0
大型(16kB左右)附件会失败。 –
我想在我设计的加载项中显示附件的内容。 – Hari
那么问题是什么?将文件附件数据读入一个变量? –
是的。有可能这样做吗? (文件为txt格式) – Hari