Excel Outlook使用GetSharedDefaultFolder Automation在SharedMailbox中选择子文件夹时出错
以下代码用于计算特定Excel Outlook使用GetSharedDefaultFolder Automation在SharedMailbox中选择子文件夹时出错,excel,vba,outlook,Excel,Vba,Outlook,以下代码用于计算特定SharedMailbox或其子文件夹中的电子邮件数 在SharedMailbox中选择子文件夹时遇到问题。 我已经阅读了GetSharedDefaultFolder上的许多资源,包括 然而,我们仍在努力将其正确地组合在一起。 如果你能帮上忙,那就太好了 我在运行代码时遇到以下错误 运行时错误“-2147221233(80040010f)”自动错误 我希望msgbox将返回子文件夹名称,但它报告了错误 运行时错误“-2147221233(80040010f)”自动错误 我不知
SharedMailbox
或其子文件夹中的电子邮件数
在SharedMailbox中选择子文件夹时遇到问题。
我已经阅读了GetSharedDefaultFolder上的许多资源,包括
然而,我们仍在努力将其正确地组合在一起。
如果你能帮上忙,那就太好了
我在运行代码时遇到以下错误
运行时错误“-2147221233(80040010f)”自动错误
我希望msgbox将返回子文件夹名称,但它报告了错误
运行时错误“-2147221233(80040010f)”自动错误
我不知道为什么。任何人都可以提供帮助。尝试使用收件人电子邮件地址,如果收件人姓名,则尝试根据通讯簿删除收件人
当然,在访问共享文件夹之前,必须根据通讯簿解析收件人的姓名或地址
Set olApp = New Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set olShareName = olNs.CreateRecipient("Shared_MailBox")
olShareName.Resolve
If Recip.Resolved Then
Set olFldr = olNs.GetSharedDefaultFolder(olShareName, olFolderInbox)
...
End If
但访问子文件夹时出现问题的原因不同
首先,尝试取消选中Exchange帐户属性对话框的“高级”选项卡上选中的“下载共享文件夹”
复选框。有关更多信息,请参阅本文
第二,请看这篇文章。您为电脑上的CacheOthersMail
键设置了什么值
有关更多信息,请参阅 您希望MsgBox(MyFolder1)返回什么?首先,语法不正确,应该是
MsgBox MyFolder1
其次MyFolder1
定义为Outlook.MAPIFolder
对象,因此您应该指定要在消息框中输出的MAPIFolder属性。MsgBox
函数正在等待String
而不是MAPIFolder
。我希望MsgBox返回子文件夹名称,它可以返回名称,因为MsgBox(olFldr)返回“收件箱”。谢谢Eugene,我尝试了以下操作:a)未选中从“高级”选项卡下载共享文件夹。B) 我正在使用outlook 2013,并在我的电脑上创建了CacheOthersMail key=0。C)我也重新启动了电脑,但问题仍然存在……是的,它应该是收件人地址,但这不是我的查询。不幸的是,否,我已将recip.resolve添加到我的代码中,但它不起作用。我相信问题就在这一行:设置MyFolder1=olFldr.Folders(“Sub_Folder”),根据我的帖子报告运行时错误。@lyricZZ-on-MsgBox(olFldr)这是否为您提供了正确的文件夹名称?
Set MyFolder1 = olFldr.Folders("Sub_Folder")
MsgBox (MyFolder1)
Option Explicit
Public Sub Example()
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")
Dim olNs As Outlook.Namespace
Set olNs = olApp.GetNamespace("MAPI")
Dim Recip As Outlook.Recipient
Dim Inbox As Outlook.MAPIFolder
Set Recip = olNs.CreateRecipient("0m3r@Email.com")
Recip.Resolve
If Recip.Resolved Then
Set Inbox = olNs.GetSharedDefaultFolder _
(Recip, olFolderInbox)
End If
Inbox.Display
End Sub
Set olApp = New Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set olShareName = olNs.CreateRecipient("Shared_MailBox")
olShareName.Resolve
If Recip.Resolved Then
Set olFldr = olNs.GetSharedDefaultFolder(olShareName, olFolderInbox)
...
End If