我正在尝试从共享的Outlook收件箱中提取信息。当我尝试将Outlook文件夹设置为共享olFolderInbox的子文件夹时,会出现问题。奇怪的是,有时宏会完美运行并提取我需要的数据。但是,有时宏即使找不到代码也无法找到Folder对象并显示错误消息。
当我将文件夹设置为主收件箱(olFolderInbox)时,代码可以正常工作,但是,当我尝试将其设置为特定的子文件夹时,代码有时会失败。我确保子文件夹名称正确。
这是我的代码:
Dim OutlookNameSpace As Outlook.Namespace
Dim OutlookFolder As Outlook.Folder
Dim OutlookMail As Outlook.MailItem
Dim ObjOwner As Outlook.Recipient
Set OutlookNameSpace = Outlook.Application.GetNamespace("MAPI")
Set ObjOwner = OutlookNameSpace.CreateRecipient("EmailName@email.ca")
ObjOwner.Resolve
If ObjOwner.Resolved Then
Set OutlookFolder = OutlookNameSpace.GetSharedDefaultFolder _
(ObjOwner, olFolderInbox).Folders("FolderName")
End If
我收到的错误消息是:
"Run-time error '-2147221233 (8004010f)':
The attempted operation failed. An object could not be found."
调试工具将突出显示我尝试将子文件夹设置为Outlook文件夹的行。
当我注释掉:.Folders(“ FolderName”)宏运行正常时。
如果您能告诉我为什么这段代码有时起作用,而其他时候却失败了,它将对我有很大帮助!
谢谢!
答案 0 :(得分:1)
请记住,如果代理默认文件夹被缓存(在主邮箱的OST文件中),则子文件夹将不存在。
尝试关闭代理文件夹的缓存-取消选中“ Exchange帐户属性”对话框“高级”选项卡上的“下载共享文件夹”复选框。