从已删除文件夹移动电子邮件

时间:2018-05-23 13:29:00

标签: vba outlook

最近有一名员工离开公司,决定将几千封电子邮件和事件移至Outlook中的垃圾文件夹。值得庆幸的是,我仍然可以手动恢复它们,但我不想小批量地进行它们。

我有这段代码,但是当我尝试将项目从“已删除邮件”文件夹移回收件箱时,它会出错。

Sub MoveItems()
 Dim myNameSpace As Outlook.NameSpace
 Dim myInbox As Outlook.Folder
 Dim myDestFolder As Outlook.Folder
 Dim myItems As Outlook.Items
 Dim myItem As Object

 Set myNameSpace = Application.GetNamespace("MAPI")
 Set myInbox = myNameSpace.GetDefaultFolder(Deleted Items)
 Set myItems = myInbox.Items
 Set myDestFolder = myInbox.Folders("olFolderInbox")
 Set myItem = myItems.Find("[SenderName] = 'John Smith'")
 While TypeName(myItem) <> "Nothing"
 myItem.Move myDestFolder
 Set myItem = myItems.FindNext
 Wend
End Sub

思想?

1 个答案:

答案 0 :(得分:1)

您必须指定已删除的项目文件夹,如下所示:

Set myInbox = myNameSpace.GetDefaultFolder(olFolderDeletedItems)

您可以阅读更多指定文件夹here的示例和其他选项列表here