将上次发送的电子邮件从Outlook 2016复制到内存



我在Outlook 2010上使用了下面的代码,没有任何glicthes,但是对于2016 outlook,它什么也没做,也没有给出错误。

sub copylastsenttomem ()
Dim objSentFolder As Outlook.MAPIFolder
Dim objSentItem As Outlook.MailItem
Dim outForward As Outlook.MailItem
Dim objNS As Namespace
Dim objFolder As MAPIFolder

Set objNS = GetNamespace("MAPI")
Set objFolder = objNS.GetDefaultFolder(olFolderSentMail)
Set outForward = objFolder.Items(1).Forward
'Set outForward = objFolder.Items(1)
'outForward.Display
Dim M As MailItem, Buf As MSForms.DataObject
Set M = outForward

Set Buf = New MSForms.DataObject
Buf.SetText M.body
Buf.PutInClipboard

end sub

在代码中,您假定"已发送邮件"文件夹中包含任何项目:

Set objFolder = objNS.GetDefaultFolder(olFolderSentMail)
Set outForward = objFolder.Items(1).Forward

确保文件夹至少包含一个要转发的项目。

最新更新