[英]How to extract sent items from Outlook shared mailbox in Excel VBA?
我正在尝试使用 Excel 中的以下代码从 Outlook 中的组/共享邮箱中提取电子邮件。
olObjNs.GetSharedDefaultFolder(olShareName, olFolderInbox)
使用这个我可以提取收件箱项目。
https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/namespace-getshareddefaultfolder-method-outlook说“..... 不能为此参数指定 olFolderSentMail。”
如何从共享邮箱中获取“已发送邮件”?
我试过olObjNs.GetDefaultFolder(olFolderSentMail)
但它检索我的个人电子邮件“已发送项目”。
您可以找到共享存储,例如使用以下代码:
olObjNs.GetSharedDefaultFolder(olShareName, olFolderInbox).Store
然后使用 Outlook 对象模型中Store
类的GetDefaultFolder方法。 它返回一个Folder
对象,该对象表示存储中的默认文件夹,并且属于FolderType
参数指定的类型。
此方法类似于NameSpace
对象的GetDefaultFolder
方法。 不同之处在于此方法获取与帐户关联的交付存储上的默认文件夹,而NameSpace.GetDefaultFolder
返回当前配置文件的默认存储上的默认文件夹。
只需替换共享邮箱地址并假设它包含“已发送邮件”文件夹,它应该执行以下操作:
Set objNS = olApp.GetNamespace("MAPI")
Set objOwner = objNS.CreateRecipient("email@domain.com")
objOwner.Resolve
Set objOutlookFile = objNS.GetSharedDefaultFolder(objOwner, olFolderInbox).Parent.Folders("Sent Items")
对我来说效果很好;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.