我们在 Outlook 中有一个名为“Reports”的文件夹,它实际上是在与 Outlook 中的默认文件夹(即收件箱、草稿、已发送邮件等)相同的级别上创建的
大多数教程仅展示如何从默认父文件夹访问创建的子文件夹,而不展示如何访问同一父级别上创建的文件夹。我需要一个脚本,将电子邮件从“收件箱”移动到另一个名为“报告”的父级文件夹。
这是通用代码:
Sub MoveItems()
Dim NewApp As Outlook.Application
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 NewApp = New Outlook.Application
Set myNameSpace = NewApp.GetNamespace("MAPI")
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myItems = myInbox.Items
Set myItem = myItems.Find("[SenderName] = 'Kevin Feige'")
Set myDestFolder = myInbox.Folders("Reports")
While TypeName(myItem) <> "Nothing"
myItem.Move myDestFolder
Set myItem = myItems.FindNext
Wend
End Sub
显然,Set = myDestFolder 会出错,因为它将“Reports”视为默认收件箱内的子文件夹。顺便说一下,VBA 运行时错误是 2147221233 (8004010f)。我什至尝试过是否可以获得 olDefaultFolders 属性的枚举,但没有成功。
如有任何建议或帮助,我们将不胜感激。谢谢你。