我正在尝试使用Excel中的以下代码从Outlook中的组/共享邮箱中提取电子邮件。
olObjNs.GetSharedDefaultFolder(olShareName, olFolderInbox)
使用它,我可以提取收件箱项目。
https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/namespace-getshareddefaultfolder-method-outlook表示“不能为此参数指定..... olFolderSentMail”。
如何从共享邮箱获取“已发送邮件”?
我尝试过olObjNs.GetDefaultFolder(olFolderSentMail)
,但它会检索我的个人电子邮件“已发送邮件”。
发布于 2018-05-28 21:07:07
例如,您可以使用以下代码查找共享存储:
olObjNs.GetSharedDefaultFolder(olShareName, olFolderInbox).Store
然后使用Outlook对象模型中的Store
类的GetDefaultFolder方法。它返回一个Folder
对象,该对象表示存储区中的默认文件夹,其类型由FolderType
参数指定。
此方法类似于NameSpace
对象的GetDefaultFolder
方法。不同之处在于,此方法获取与帐户关联的传递存储上的默认文件夹,而NameSpace.GetDefaultFolder
返回当前配置文件的默认存储上的默认文件夹。
发布于 2019-10-10 19:34:11
只需替换共享邮箱地址,并给出它包含“已发送邮件”文件夹,它应该这样做:
Set objNS = olApp.GetNamespace("MAPI")
Set objOwner = objNS.CreateRecipient("email@domain.com")
objOwner.Resolve
Set objOutlookFile = objNS.GetSharedDefaultFolder(objOwner, olFolderInbox).Parent.Folders("Sent Items")
对我来说效果很好;)
https://stackoverflow.com/questions/50565183
复制相似问题