如何将Outlook中的电子邮件移动到子文件夹?

时间:2017-09-21 18:17:46

标签: email outlook

我正在尝试创建一个宏,将我的Outlook收件箱中的项目移动到与收件箱位于同一级别的另一个文件夹的子文件夹(即,父文件夹不是收件箱的子文件夹)。这是我正在使用的代码:

Sub EventRequests()
On Error Resume Next

Dim ns As Outlook.NameSpace
Dim moveToFolder As Outlook.MAPIFolder
Dim objItem As Outlook.MailItem

Set ns = Application.GetNamespace("MAPI")

'Define path to the target folder
Set moveToFolder = ns.Folders("Events").Folders("Event Requests")

If Application.ActiveExplorer.Selection.Count = 0 Then
   MsgBox ("Select an E-mail first")
   Exit Sub
End If

If moveToFolder Is Nothing Then
   MsgBox "Target folder not found!", vbOKOnly + vbExclamation, "Move Macro Error"
End If

For Each objItem In Application.ActiveExplorer.Selection
   If moveToFolder.DefaultItemType = olMailItem Then
      If objItem.Class = olMail Then
         objItem.Move moveToFolder
      End If
  End If
Next

Set objItem = Nothing
Set moveToFolder = Nothing
Set ns = Nothing
End Sub

当我运行代码时,我收到一条错误,上面写着"找不到目标文件夹!"我试过了 Set moveToFolder = ns.GetDefaultFolder(olFolderInbox).Folders("Events").Folders("Event Requests")Set MoveToFolder = ns.Folders("Mailbox - my name").Folders(targetFolder)但这些都没有奏效。我有一个不同的宏设置,将我的收件箱中的邮件移动到我的收件箱的子文件夹的文件夹,它工作正常:

Set moveToFolder = ns.GetDefaultFolder(olFolderInbox).Folders("Completed")

如何修复目标路径以使其指向正确的子文件夹?

1 个答案:

答案 0 :(得分:0)

我将继续发布我自己的问题的答案,以便如果将来其他人有这个问题他们可以看到我到达的代码有效:

(q2)
相关问题