Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何引用服务器收件箱而不是脱机收件箱?_Vba_Server_Outlook_Inbox - Fatal编程技术网

Vba 如何引用服务器收件箱而不是脱机收件箱?

Vba 如何引用服务器收件箱而不是脱机收件箱?,vba,server,outlook,inbox,Vba,Server,Outlook,Inbox,我希望遍历整个Outlook收件箱,包括存储在MS Exchange服务器上的邮件。但是,当我通过以下方式引用Outlook收件箱时: NameSpace.GetDefaultFolder(olFolderInbox) 它只返回我的脱机收件箱中的项目。有人知道如何返回整个服务器存档吗 感谢您的帮助。您需要在ThisOutlookSession(vba)中添加一些内容,然后才能执行您想要执行的操作 请参考以下网站。关于连接到共享文件夹(exchange)和日历,有很多解释 您需要在ThisOut

我希望遍历整个Outlook收件箱,包括存储在MS Exchange服务器上的邮件。但是,当我通过以下方式引用Outlook收件箱时:

NameSpace.GetDefaultFolder(olFolderInbox)
它只返回我的脱机收件箱中的项目。有人知道如何返回整个服务器存档吗


感谢您的帮助。

您需要在ThisOutlookSession(vba)中添加一些内容,然后才能执行您想要执行的操作

请参考以下网站。关于连接到共享文件夹(exchange)和日历,有很多解释


您需要在ThisOutlookSession(vba)中添加一些内容,然后才能执行您想要执行的操作

请参考以下网站。关于连接到共享文件夹(exchange)和日历,有很多解释


您需要以联机模式打开文件夹。你也可以

1) 关闭缓存模式(当然,从性能角度来看并不理想)

2) 使用
IMAPISession::OpenEntry
MAPI\u NO\u CACHE
0x0200
)标志,使用扩展MAPI(仅限C++或Delphi)在联机模式下重新打开文件夹

3) 使用(任何语言)重新打开文件夹-它会暴露(2)以上内容:


您需要以联机模式打开文件夹。你也可以

1) 关闭缓存模式(当然,从性能角度来看并不理想)

2) 使用
IMAPISession::OpenEntry
MAPI\u NO\u CACHE
0x0200
)标志,使用扩展MAPI(仅限C++或Delphi)在联机模式下重新打开文件夹

3) 使用(任何语言)重新打开文件夹-它会暴露(2)以上内容:


我试过那个宏,但我不认为它会有帮助。下面的代码只适用于索引“1”,它返回我的个人电子邮件地址。因此,该函数可以返回给我的唯一文件夹是我的收件箱、已发送邮件、已删除邮件等的父文件夹(可能相当于我的个人资料或帐户?)MsgBox Session.Folders.Item([索引为整数])只接受索引1,并返回我的电子邮件地址。MsgBox Session.Folders.Item(1).Folders(“收件箱”)返回我的收件箱。使用“GetSharedDefaultFolder”而不是“GetDefaultFolder”也不起作用,因为两种方法返回的文件夹都返回相同的Folder.Items.Count,即我脱机收件箱中的邮件数,但不是我的Exchange InboxI我已经尝试过该宏,但我认为它不会有帮助。下面的代码只适用于索引“1”,它返回我的个人电子邮件地址。因此,该函数可以返回给我的唯一文件夹是我的收件箱、已发送邮件、已删除邮件等的父文件夹(可能相当于我的个人资料或帐户?)MsgBox Session.Folders.Item([索引为整数])只接受索引1,并返回我的电子邮件地址。MsgBox Session.Folders.Item(1).Folders(“收件箱”)返回我的收件箱。使用“GetSharedDefaultFolder”而不是“GetDefaultFolder”也不起作用,因为两种方法返回的文件夹都返回相同的Folder.Items.Count,即脱机收件箱中的邮件数量,但不是Exchange收件箱中的邮件数量
MAPI_NO_CACHE = &H200 
MAPI_BEST_ACCESS &H10
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set vFolder = Session.GetFolderFromID(YourOOMFolder.EntryID, , MAPI_NO_CACHE + MAPI_BEST_ACCESS)
MsgBox vFolder.Items.Count