首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Excel VBA中从Outlook共享邮箱中提取已发送邮件?

如何在Excel VBA中从Outlook共享邮箱中提取已发送邮件?
EN

Stack Overflow用户
提问于 2018-05-28 19:18:24
回答 2查看 1.8K关注 0票数 1

我正在尝试使用Excel中的以下代码从Outlook中的组/共享邮箱中提取电子邮件。

olObjNs.GetSharedDefaultFolder(olShareName, olFolderInbox)

使用它,我可以提取收件箱项目。

https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/namespace-getshareddefaultfolder-method-outlook表示“不能为此参数指定..... olFolderSentMail”。

如何从共享邮箱获取“已发送邮件”?

我尝试过olObjNs.GetDefaultFolder(olFolderSentMail),但它会检索我的个人电子邮件“已发送邮件”。

EN

回答 2

Stack Overflow用户

发布于 2018-05-28 21:07:07

例如,您可以使用以下代码查找共享存储:

olObjNs.GetSharedDefaultFolder(olShareName, olFolderInbox).Store

然后使用Outlook对象模型中的Store类的GetDefaultFolder方法。它返回一个Folder对象,该对象表示存储区中的默认文件夹,其类型由FolderType参数指定。

此方法类似于NameSpace对象的GetDefaultFolder方法。不同之处在于,此方法获取与帐户关联的传递存储上的默认文件夹,而NameSpace.GetDefaultFolder返回当前配置文件的默认存储上的默认文件夹。

票数 0
EN

Stack Overflow用户

发布于 2019-10-10 19:34:11

只需替换共享邮箱地址,并给出它包含“已发送邮件”文件夹,它应该这样做:

代码语言:javascript
复制
Set objNS = olApp.GetNamespace("MAPI")
Set objOwner = objNS.CreateRecipient("email@domain.com")
objOwner.Resolve
Set objOutlookFile = objNS.GetSharedDefaultFolder(objOwner, olFolderInbox).Parent.Folders("Sent Items")

对我来说效果很好;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50565183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档