VBA 将电子邮件从收件箱移动到 Outlook 中创建的默认/父文件夹(不是子文件夹)

问题描述 投票:0回答:0

我们在 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 属性的枚举,但没有成功。

如有任何建议或帮助,我们将不胜感激。谢谢你。

excel vba outlook directory parent
© www.soinside.com 2019 - 2024. All rights reserved.