首页 > 解决方案 > GetSharedDefaultFolder - 子文件夹访问错误

问题描述

我无法让 Outlook VBA 代码识别共享任务中的子文件夹。我要做的是创建一个宏,它将自动在部门共享任务文件夹中创建一个任务。尝试谷歌搜索各种解决方案均无济于事。代码如下:


Dim objApp As Outlook.Application

Dim defaultTasksFolder As Outlook.MAPIFolder

Dim subFolder As Outlook.MAPIFolder

Dim objNS As Outlook.NameSpace

Dim objMail As MailItem

Dim objItm As TaskItem

Set objApp = CreateObject("Outlook.Application")

Set objNS = objApp.GetNamespace("MAPI")

Set objMail = Outlook.Application.ActiveExplorer.Selection.Item(1)

Dim objOwner As Outlook.Recipient
Set objOwner = objNS.CreateRecipient("name@email.com")
objOwner.Resolve
If objOwner.Resolved Then
Set defaultTasksFolder = objNS.GetSharedDefaultFolder(objOwner, olFolderTasks)
subFolder = defaultTasksFolder.Folders("TestFolder") **ERROR OCCURS HERE - OBJECT COULD NOT BE FOUND**
Set objItm = subFolder.Items.Add(olTaskItem)

With objItm
.Subject = "Name- " & objMail.Subject
.StartDate = objMail.ReceivedTime
.Body = objMail.Body

End With

objItm.Save

MsgBox ("Task Created for e-mail: " & vbCrLf & objMail.Subject)
End If


End Sub

它在subFolder = defaultTasksFolder.Folders("TestFolder")上出错,说找不到对象。我检查了文件夹名称的两倍和三倍。

任何想法可能导致此错误?谢谢!!

标签: vbaoutlook

解决方案


请记住,Outlook 可能只缓存默认文件夹,而不是它们的子订单。您可以在 Outlook 中查看和访问子文件夹吗?


推荐阅读