我已成功使用以下宏代码将Outlook中名为“子文件夹”的子文件夹中的邮件失败项目导出/提取到笔记本电脑上的本地文件夹中,并在Outlook中执行:
Private Sub DBC1()
Set inbox = Session.GetDefaultFolder(6).Folders("Subfolder")
For Each m In inbox.Items
intCount = m.Attachments.Count
If intCount > 0 Then
For i = 1 To intCount
m.Attachments.Item(i).SaveAsFile "C:\info\" & _
m.Attachments.Item(i).FileName
Next
End If
Next
End Sub
但是,导出这些邮件时,我需要更改发件人地址。有人知道如何更改“发件人”值吗?
答案 0 :(得分:0)
即使您可以使用Namespace.OpenSharedItem
打开MSG文件,Outlook对象模型也不允许您使用MailItem.PropertyAccessor.SetProperty
修改与发件人相关的属性(它就像是最了解的老大哥)。
如果可以选择使用Redemption,则可以使用RDOSession。GetMessageFromMsgFile
打开MSG文件(返回RDOMail对象),然后清除发送者设置RDOMail.Sender
/ SentOnBehalfOf
设置为Nothing(空)或将它们设置为有效的RDOAddressEntry对象。