Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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在Outlook 2010中分配文件夹权限_Vba_Outlook - Fatal编程技术网

使用VBA在Outlook 2010中分配文件夹权限

使用VBA在Outlook 2010中分配文件夹权限,vba,outlook,Vba,Outlook,早上好 我正在尝试确定一种使用VBA更新Outlook 2010收件箱及其所有子文件夹权限的方法 我们有一个拥有大量子文件夹的帐户,几个新用户需要访问这些子文件夹。手动分配这些任务需要几个小时,我正在寻找一个自动化的过程,因为这将是一个重复的任务 由于管理员的限制,我只能使用本机VBA 这是可能的,还是我注定要花几个小时重复地指点和点击 非常感谢 PeteVBA中使用的Outlook对象模型不提供任何更改文件夹权限的功能 您可以使用低级API扩展MAPI访问权限。文件夹级权限存储在文件夹中。您需

早上好

我正在尝试确定一种使用VBA更新Outlook 2010收件箱及其所有子文件夹权限的方法

我们有一个拥有大量子文件夹的帐户,几个新用户需要访问这些子文件夹。手动分配这些任务需要几个小时,我正在寻找一个自动化的过程,因为这将是一个重复的任务

由于管理员的限制,我只能使用本机VBA

这是可能的,还是我注定要花几个小时重复地指点和点击

非常感谢


Pete

VBA中使用的Outlook对象模型不提供任何更改文件夹权限的功能


您可以使用低级API扩展MAPI访问权限。文件夹级权限存储在文件夹中。您需要使用IMAPIFolder::OpenProperty方法获取PR_ACL_表属性值。或者您可以考虑使用任何第三方包装器来简化DEV过程。请参阅更多信息。

因为使用VBA,扩展的MAPI是不需要的,您需要C++或Delphi。p> 如果使用是一个选项,则可以使用.ACL属性返回的对象来管理任何Exchange文件夹权限:

 set Session = CreateObject("Redemption.RDOSession")
 Session.MAPIOBJECT = Application.Session.MAPIOBJECT
 set Folder = Session.GetDefaultFolder(olFolderCalendar)

'make sure we get back an Exchange user
 set AddressEntry = Session.AddressBook.GAL.ResolveName("Pete")
 set ACE = Folder.ACL.Add(AddressEntry)
 ACE.Rights = ROLE_PUBLISH_EDITOR

嗨,伙计们,谢谢你们的回复。看起来我需要用Rebug或C++ + Delphi来解决这个问题。不幸的是,这将只允许访问VBA的权力,所以它看起来像我会做很多重复的指向和点击在未来!注意:我确实尝试创建一个DL并将此访问权限分配给一个文件夹,但这也不起作用。再次感谢您的帮助。管理员可以授予完全访问权限。a b c Hi Niton,我在一家大型组织工作,管理员几乎将事情锁定,不允许额外访问。老实说,这是一种痛苦,但我理解其原因……如果你能以痛苦的方式更新,那么额外的访问就不会被锁定。这些链接描述了管理员如何在您为新用户请求访问权限时授予访问权限。感谢Niton,我已经查看了这些链接,但我没有下载和安装任何其他软件的权限,并且由于公司政策,我的管理员不会这样做。因此,我必须手动完成这项工作,这真是一件麻烦事。再次感谢你的帮助,但我认为这个问题没有解决办法。公司政策意味着我仅限于VBA,而这无法解决此问题。请查看本文中描述的解决方法。嗨,Dimitry,感谢您提供的代码。不幸的是,我的管理员不允许赎回,所以我被卡住了,不得不手动操作。