首页 > 解决方案 > VBA:设置读取 Excel 文件到整个组织的权限

问题描述

所以,我遇到了VBA问题。由于 IT 政策,我无法在文件夹级别控制对我的 Excel 文件的读/写访问,但必须为每个单独的文件执行此操作。我有一个包含 15 个文件的文件夹,有权访问该文件夹的每个人都可以访问和写入。在某个日期我想锁定这些文件,以便只有特定的组可以写入,但其余的仍然可以读取。

我知道手动执行此操作非常容易(文件->信息->保护工作簿->限制访问),但是由于当我们想要锁定文件时我已经出于其他原因运行了宏,所以我想要它也要做这部分。这是我遇到问题的地方:

我已经弄清楚如何使用此代码为特定用户设置权限

Sub set_access()

Dim UserPerm As Office.UserPermission

Workbooks("workbook name").Activate
   Set UserPerm = ActiveWorkbook.Permission.Add("name@company", msoPermissionFullControl)

我可以为每个我想拥有写作/完全访问权限的人循环,没问题。我们大概有十五个人,我知道我们是谁。

问题是我还希望我组织中的每个人都保留他们的阅读权。如果我手动操作(在如上所述访问的权限菜单中),这有它自己的按钮,但我不明白如何通过 vba 触发该设置。我试图记录我手动执行的宏,以查看代码,但没有记录任何内容。我也已经阅读了几乎所有我可以在网上找到的东西,比如四五遍,而我需要的东西似乎并没有被涵盖。

有谁知道这是否可行?或者,如果不是;我可以通过其他方式达到相同的结果吗?


tldr:我可以按个人设置权限,但除此之外,我想为我的组织中的任何人授予对我的 Excel 文件的一般只读访问权限。这可以用vba完成吗?如果是这样; 如何?

标签: excelvbapermissions

解决方案


推荐阅读